有人可以向我解释为什么在以下代码中我得到“您的答案为无”的消息吗?
question='should save the notebook after edit?(T/F) :'
correct_ans=('t')
def tf_quiz(question,correct_ans):
if input(question)==correct_ans:
print('correct')
else:
print('incorrect')
quiz=tf_quiz(question,correct_ans)
print('your answer is',quiz)
输出:
should save the notebook after edit?(T/F) :t
correct
your answer is None
答案 0 :(得分:2)
您的函数不会显式返回任何内容,因此会隐式返回None
。无需在函数内部打印,只需返回所需的值即可:
def tf_quiz(question,correct_ans):
if input(question) == correct_ans:
return 'correct' # Here
else:
return 'incorrect' # And here
答案 1 :(得分:1)
因为tf_quiz函数不返回值,所以只打印它。使用return 'correct'
,依此类推。
答案 2 :(得分:1)
您的函数“ tf_quiz”不返回任何输出。默认情况下,除非指定返回其他内容,否则python返回None作为函数的返回值。 因此,这就是纠正代码的方法。
question='should save the notebook after edit?(T/F) :'
correct_ans='t'
def tf_quiz(question,correct_ans):
usr_answer = input(question)
if usr_answer==correct_ans:
print('correct')
else:
print('incorrect')
return usr_answer
quiz=tf_quiz(question,correct_ans)
print('your answer is',quiz)