我正在编写一个小程序,当我运行它时,我得到一个无。这是一个例子:
print('Welcome to CTFTOOL')
print('Created by P.R.B.')
print('Choose your option:')
inp1 = input(print('''
1)Auto Caesar Chiper.
2)Binary-Decimal & Decimal-Binary.'''))
在第四次打印后,我得到一个无,这与每个要求输入的打印件一起。
if inp1 == '1':
text1 = input(print('Input the text you want to decode:\n'))
autocaesarchiper(text1)
在autocaesarchipher()函数运行之前,我得到另一个None。 我一直在寻找另一个运行良好的代码,但我还没有看到问题。 谢谢:))
答案 0 :(得分:6)
input()
会进行争论并将其打印出来。
在print()
函数触发后,您看到的是无。在python中如果你的函数没有返回任何东西并且完成它默认返回None。例如:
print(print())
输出:
#new line
None
要修复代码,请执行以下操作:
text1 = input('Input the text you want to decode:\n')
答案 1 :(得分:5)
input
会为您打印一条消息。不要将实际的print
函数传递给它。
inp1 = input('''
1)Auto Caesar Chiper.
2)Binary-Decimal & Decimal-Binary.''')
print
函数的返回值是None
的来源。
答案 2 :(得分:4)
print()
函数中的input()
正在返回None
。希望这可以帮助!
答案 3 :(得分:2)
考虑这个例子:
def g(a,b):
print(a+b)
相当于:
def g(a,b):
print(a+b)
return None
所以如果你调用print(g(1,2))
这将执行内部函数的操作,但在这种情况下也将输出其返回值None
通常,如果在另一个函数调用中放置一个函数调用,则会得到None
,如果该函数没有返回任何内容。例如,function(function())
输出None
。
input(print())
或print(print())
也是如此。小心。
答案 4 :(得分:0)
def test():
print('Welcome to CTFTOOL')
print('Created by P.R.B.')
print('Choose your option:')
inp1 = input('Choose one: \n (1)Auto Caesar Chiper. \n 2)Binary-Decimal & Decimal-Binary.')
if inp1 == 1:
text1 = input('Input the text you want to decode:\n')
autocaesarchiper(text1)
print(test())