Python 如果int(x)==int(q):name错误:未定义名称“q”
试图完成我的学校项目。这是我的密码:Python 如果int(x)==int(q):name错误:未定义名称“q”,python,Python,试图完成我的学校项目。这是我的密码: # -*- coding: UTF8 -*- import math def summary(lista): print("min: ", min(lista)) print("max: ", max(lista)) print("average: ", float(sum(lista)) / int(len(lista))) lista=[ ] while (True): x
# -*- coding: UTF8 -*-
import math
def summary(lista):
print("min: ", min(lista))
print("max: ", max(lista))
print("average: ", float(sum(lista)) / int(len(lista)))
lista=[ ]
while (True):
x=int(input("Enter number: "))
if int(x)==int(q):
lista.append(x)
print("Numbers on list:")
print(lista)
else:
break
print(summary(lista))
如你所见,我试图:
输入要列出的数字
结束输入过程,按q键
最后显示数字的最小值、最大值和平均值
lista=列表,英语
NameError:未定义名称“q”
有关于这个错误的提示吗
谢谢
q as is指的是您尚未定义的变量
你的逻辑是错误的。输入过程应在键入“q”时结束;当前您的程序以错误的方式处理的。您可以这样做:
if x != 'q': # if the input is anything other than 'q'
try:
lista.append(int(x)) # convert to an 'int' & append
except ValueError:
continue # invalid input, start over
print("Numbers on list:")
print(lista)
else: # break if x == 'q'
break
由于python解释无法解释q的定义,您只需对代码进行以下更改
while (True):
q="q"
x=(input("Enter number: "))
if x!=q:
lista.append(int(x))
else:
break
print("Numbers on list:")
print(lista)
好吧,您想检查intx==intq,但您从未告诉Python q应该是什么。错误信息非常清楚。在检查x==q之前,您不能将x转换为int。有些不相关的注释,您不需要导入数学,因为min和max都是内置的。如果x!='q'?