在下面的代码中,if循环不接受条件(true),而是转到elif
语句。我试图使用if
语句来控制哪些内容可以进入列表,哪些内容不能:
average = []
def judge(result):
try:
float(result)
return True
except ValueError:
return 'please type number'
list_in = input('Type in your number,type y when finished.\n')
judge_result = judge(list_in)
if judge_result:
aver_trac = aver_trac + 1
average.append(list_in)
print('success')
elif isinstance(judge_result, str):
print(judge_result)
但是如果我指定
if judge_result == True:
那么这个if循环就可以了
Python将非空字符串计算为True,将空字符串计算为False。你知道吗
在您的例子中,
judge
函数返回True
或非空字符串,这也是真的;当您计算返回值时,if judge_result:
总是真的。你知道吗if judge_result == True:
工作的事实,是python中==
和is
之间差异的一个很好的例子尽管如此,您处理数据输入的方式还是有点尴尬;您可以这样做:
相关问题 更多 >
编程相关推荐