Python 无法在空字符串上断开
我正在尝试获取不超过10个用户输入。用户可以通过输入空字符串来选择停止输入Python 无法在空字符串上断开,python,conditional-statements,break,Python,Conditional Statements,Break,我正在尝试获取不超过10个用户输入。用户可以通过输入空字符串来选择停止输入 container_size = [] for i in range(10): while True: container_size.append(float(input('What is the size of your container?: '))) if input('What is the size of your container?: ') == '': br
container_size = []
for i in range(10):
while True:
container_size.append(float(input('What is the size of your container?: ')))
if input('What is the size of your container?: ') == '':
break
if i <= 1:
refund = 0.10
else:
refund = 0.25
print(refund)
container\u size=[]
对于范围(10)内的i:
尽管如此:
container_size.append(float(输入('容器的大小是多少?:'))
如果输入('您的容器的大小是多少?:')='':
打破
if i调用input()两次:一次调用add to container,第二次调用if。因此,对于每个迭代,您都需要2个输入。因此,您总共有20个输入,而不是10个。将其放入变量中,并询问该变量是否为空/将变量添加到容器中
您的break
语句当前引用的是if语句,而不是while语句,因为它与最近的if语句交互。您可以通过使用标志来克服这个问题,并在while语句末尾检查它。
container_size = []
refund = []
i = 0
for i in range(10):
try:
container_size.append(float(input('What is the size of your container?: ')))
except ValueError:
break
for x in container_size:
if x <= 1:
refund.append(0.10)
else:
refund.append(0.25)
print(sum(refund))```
I corrected the code already. Thank you.
容器大小=[]
退款=[]
i=0
对于范围(10)内的i:
尝试:
container_size.append(float(输入('容器的大小是多少?:'))
除值错误外:
打破
对于容器中的x_尺寸:
如果x,由于存在中断,无法访问其他代码。中断
从最内部的循环退出,在这种情况下,while
循环退出。您想从for
循环中断吗?您不应该有两个循环-for
循环将执行while
循环10次,而while
循环包含两个输入语句,因此您无法控制循环的最大数量。此外,如果用户输入空字符串float(输入('容器的大小?:'))
将给您一个值error,目标是在没有用户输入时中断。我该怎么做?