【发布时间】:2023-06-04 20:03:01
【问题描述】:
我有这个循环
for i in range(branches):
count += 1
while True:
try:
computer = int(input('{} {} :'.format("Enter number of books for computer of branch", count)))
bookCount.append(computer)
physics = int(input('{} {} :'.format("Enter number of books for phsyics of branch", count)))
bookCount.append(physics)
chemistry = int(input('{} {} :'.format("Enter number of books for chemistry of branch", count)))
bookCount.append(chemistry)
biology = int(input('{} {} :'.format("Enter number of books for biology of branch", count)))
bookCount.append(biology)
arts = int(input('{} {} :'.format("Enter number of books for arts of branch", count)))
bookCount.append(arts)
except ValueError:
print("Input must be a number")
continue
if computer < 1:
print("Number must be at least 1")
else:
break
如果我输入说“Hello”而不是 int,try except 将捕获问题并打印错误,但将从 try 循环的顶部重新启动。 有没有办法从发生错误的地方继续,或者它们都需要分开?
编辑::::
我现在尝试了几种格式化方法,例如下面,但它总是回到顶部输入
for i in range(branches):
count += 1
while True:
try:
computer = int(input('{} {} :'.format("Enter number of books for computer of branch", count)))
bookCount.append(computer)
try:
physics = int(input('{} {} :'.format("Enter number of books for physics of branch", count)))
bookCount.append(physics)
except ValueError:
print("Input must be a number:")
continue
except ValueError:
print("Input must be a number")
continue
if computer < 1:
print("Number must be at least 1")
else:
break
任何帮助都会很棒
【问题讨论】:
-
是的,你需要在每个输入周围放置一个循环来做你想做的事情
-
好的,我现在已经尝试了几种格式化方法,但每次仍然会回到第一个输入。
标签: python for-loop while-loop try-catch valueerror