我正试着用用户输入的产品和价格来制作一本字典,但当我输入stop时它不会停止?这是我得到的信息:
Traceback (most recent call last):
File "C:/Users/ACER/Desktop/faks/recnici, torke, skupovi/v1.py", line 7, in <module>
y=eval(input("its price?"))
File "<string>", line 1, in <module>
NameError: name 'stop' is not defined
代码如下:
d={}
x=""
y=""
d[x]=y
while x!="stop":
x=input("product?(type stop if you want to stop)")
y=eval(input("its price?"))
d[x]=y
print(d)
如果你
eval
字符串"stop"
,你会得到那个错误,因为stop
不是可以计算的东西。你知道吗此外,您应该避免使用
eval
来评估用户输入,因为这是不安全的。你知道吗如果满足条件,则使用
while True
循环和break
。你知道吗我为变量使用了更有意义的名称,根据Style Guide for Python Code格式化代码,并删除了^{} 的危险用法。你知道吗
由于处理输入,可能需要稍微不同的方法来停止循环:
使用
while True:
,然后添加一个单独的测试来中断循环。你知道吗相关问题 更多 >
编程相关推荐