[英]python function output None
import random
def getAnswer (answerNumber):
if getAnswer == 1:
return 'It is certain'
elif getAnswer == 2:
return 'It is decidedly so'
elif getAnswer == 3:
return 'Yes'
elif getAnswer == 4:
return "Reply hazy try again"
elif getAnswer == 5:
return 'Ask again later'
elif getAnswer == 6:
return "Concentrate and ask again"
elif getAnswer == 7:
return 'My reply is no'
elif getAnswer == 8:
return 'not so good'
elif getAnswer == 9:
return 'doubtful'
r = random.randint(1 , 9)
future = getAnswer(r)
print(future)
您将随机数作为answerNumber
,然后对照getAnswer
的值进行检查。 因此,该函数试图将对具有整数的函数的引用进行比较,该整数显然不会求值为True
。 由于所有if
语句都不会得出True
,因此它不会到达return语句就到达函数的末尾,因此默认情况下返回None
。
将函数主体中的所有getAnswer
引用替换为answerNumber
并且应该已全部设置好。 就像是:
import random
def getAnswer(answerNumber):
if answerNumber == 1:
return 'It is certain'
elif answerNumber == 2:
return 'It is decidedly so'
elif answerNumber == 3:
return 'Yes'
elif answerNumber == 4:
return "Reply hazy try again"
elif answerNumber == 5:
return 'Ask again later'
elif answerNumber == 6:
return "Concentrate and ask again"
elif answerNumber == 7:
return 'My reply is no'
elif answerNumber == 8:
return 'not so good'
elif answerNumber == 9:
return 'doubtful'
r = random.randint(1 , 9)
future = getAnswer(r)
print(future)
import random
def getAnswer (answerNumber):
if answerNumber == 1:
return 'It is certain'
elif answerNumber == 2:
return 'It is decidedly so'
elif answerNumber == 3:
return 'Yes'
elif answerNumber == 4:
return "Reply hazy try again"
elif answerNumber == 5:
return 'Ask again later'
elif answerNumber == 6:
return "Concentrate and ask again"
elif answerNumber == 7:
return 'My reply is no'
elif answerNumber == 8:
return 'not so good'
elif answerNumber == 9:
return 'doubtful'
r = random.randint(1 , 9)
future = getAnswer(r)
print(future)
您正在将函数getAnswer
与整数值进行比较,并且由于未在其中定义else
语句,因此函数调用返回None
。
我answerNumber
将实际数字answerNumber
与代码中的数字进行比较。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.