我是Python的新手,我正在试图找出为什么我的程序不会超过初始输入。一切正常,直到我输入一个数字。然后它就会回到程序的开头。循环语句如下所示:
loop = 1
choice = 0
while loop == 1:
choice = menu()
if choice == 1:
(List of commands)
elif choice == 2:
(List of commands) etc...
elif choice == 5:
loop = 0
我是一个大菜鸟所以我敢打赌这是一个荒谬的问题,但我只是难倒!
答案 0 :(得分:0)
TypeError: can't multiply sequence by non-int of type 'str'
意味着你像'5'*'5'一样,它们是str
但不是int 5 * 5。
和'1'+'1' = '11'
但1 + 1 = 2
因此,您应该将 str 更改为 int
答案 1 :(得分:0)
NO_ACTION, SMTH_ACTION, SMTH_OTHER_ACTION, EXIT_ACTION = 0,1,2,3
choice = NO_ACTION
while True:
choice = int(menu()) # python strong typed!
if choice is SMTH_ACTION:
(List of commands)
elif choice is SMTH_OTHER_ACTION:
(List of commands) etc...
elif choice is EXIT_ACTION:
break
无需退出标记 - 使用break
关键字。
不要使用“幻数” - 定义常量。