我想制作一个程序,跟踪我吃了多少苹果苹果,当我吃一个苹果时拿走苹果。
apples=3
while apples>0:
try:
print("You have {} a left".format(apples))
Action=input('Action:')
if action == "eat":
apples=apples-1
else:
print("invalid")
except:
pass
但是,当我将eat作为用户输入写入时,此代码不会更新苹果。
你剩下3个苹果 行动:吃
你有3个苹果左 行动:吃
你有3个苹果左 行动:吃
你有3个苹果左 行动:吃
你剩下3个苹果
答案 0 :(得分:1)
问题在于您定义了Type Result
Undefined "undefined"
Null "object"
Boolean "boolean"
Number "number"
String "string"
Symbol "symbol"
Host object (provided by the JS environment) Implementation-dependent
Function object "function"
Any other object "object"
但尝试使用Action
(案例很重要!)。如果没有action
和try
,您可能已经注意到了自己。这是你(几乎)从不使用裸except
的一个原因。始终捕获except
等类似的特定异常。
如果我删除这些并使用此代码,则会显示异常:
ValueError
您可能还需要apples=3
while apples>0:
print("You have {} a left".format(apples))
Action=input('Action:')
if action == "eat":
apples=apples-1
else:
print("invalid")
# ...
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
4 print("You have {} a left".format(apples))
5 Action=input('Action:')
----> 6 if action == "eat":
7 apples=apples-1
8 else:
NameError: name 'action' is not defined
strip
,因为它有时会包含一个尾随换行符:
input