我需要创建一个读取多个输入的程序,当按下0时,它会显示输入100到200之间的数字。这是我的代码:
def counting():
total = 0
entry = int(input("Type a number: "))
while entry != 0:
entry = int(input("Type a number: "))
if 100 < entry < 200:
total += 1
print(total)
除非输入的第一个数字介于100和200之间,否则它可以正常工作。如果我输入'123','150'和'0',我将得到1(第一个输入不计算)。有任何解决方法吗?
谢谢:D
答案 0 :(得分:0)
请注意双input
语句吃了你的第一个值(并且是应该避免的重复代码),你可以避免这样:
while True:
entry = int(input("Type a number: "))
if 100 < entry < 200:
total += 1
if entry == 0:
break
使用在值为0时手动中断的无限循环,每次都测试该值,并避免复制input
语句。
(python没有do
/ while
类型语句,因此您可以越接近至少执行一次语句)
答案 1 :(得分:0)
尝试在entry
条件之后移动if
的输入,否则第一次询问时会被忽略:
def counting():
total = 0
entry = int(input("Type a number: "))
while entry != 0:
if 100 < entry < 200:
total += 1
entry = int(input("Type a number: ")) # moved
print(total)