Python代码,而循环永远不会结束
我是Python新手,正在努力学习。 这是我的代码:Python代码,而循环永远不会结束,python,python-3.x,while-loop,revitpythonshell,Python,Python 3.x,While Loop,Revitpythonshell,我是Python新手,正在努力学习。 这是我的代码: import sys my_int=raw_input("How many integers?") try: my_int=int(my_int) except ValueError: ("You must enter an integer") ints=list() count=0 while count<my_int: new_int=raw_input("Please enter integer{0}:".
import sys
my_int=raw_input("How many integers?")
try:
my_int=int(my_int)
except ValueError:
("You must enter an integer")
ints=list()
count=0
while count<my_int:
new_int=raw_input("Please enter integer{0}:".format(count+1))
isint=False
try:
new_int=int(new_int)
except:
print("You must enter an integer")
if isint==True:
ints.append(new_int)
count+=1
我能知道我的代码有什么问题吗?
谢谢在断言输入为int后,需要更新isint 更新: 第一次尝试时还有一个问题,除了。如果输入不是整数,则程序应该能够退出或将您带回起点。以下内容将继续循环,直到您首先输入一个整数
ints=list()
proceed = False
while not proceed:
my_int=raw_input("How many integers?")
try:
my_int=int(my_int)
proceed=True
except:
print ("You must enter an integer")
count=0
while count<my_int:
new_int=raw_input("Please enter integer{0}:".format(count+1))
isint=False
try:
new_int=int(new_int)
isint=True
except:
print("You must enter an integer")
if isint==True:
ints.append(new_int)
count+=1
ints=list()
继续=错误
不继续进行时:
my_int=原始输入(“多少个整数?”)
尝试:
my_int=int(my_int)
继续=真
除:
打印(“必须输入整数”)
计数=0
而countisint需要在断言输入为int后更新
更新:
第一次尝试时还有一个问题,除了。如果输入不是整数,则程序应该能够退出或将您带回起点。以下内容将继续循环,直到您首先输入一个整数
ints=list()
proceed = False
while not proceed:
my_int=raw_input("How many integers?")
try:
my_int=int(my_int)
proceed=True
except:
print ("You must enter an integer")
count=0
while count<my_int:
new_int=raw_input("Please enter integer{0}:".format(count+1))
isint=False
try:
new_int=int(new_int)
isint=True
except:
print("You must enter an integer")
if isint==True:
ints.append(new_int)
count+=1
ints=list()
继续=错误
不继续进行时:
my_int=原始输入(“多少个整数?”)
尝试:
my_int=int(my_int)
继续=真
除:
打印(“必须输入整数”)
计数=0
当count时,代码的问题是,isint
永远不会更改,并且总是False
,因此count
永远不会更改。我猜您的意图是当输入是有效整数时,增加计数
;否则,不要对计数进行任何操作
这是代码,isint
标志不需要:
import sys
while True:
my_int=raw_input("How many integers?")
try:
my_int=int(my_int)
break
except ValueError:
print("You must enter an integer")
ints=list()
count=0
while count<my_int:
new_int=raw_input("Please enter integer{0}:".format(count+1))
try:
new_int=int(new_int)
ints.append(new_int)
count += 1
except:
print("You must enter an integer")
导入系统
尽管如此:
my_int=原始输入(“多少个整数?”)
尝试:
my_int=int(my_int)
打破
除值错误外:
打印(“必须输入整数”)
ints=list()
计数=0
当count时,代码的问题是,isint
永远不会更改,并且总是False
,因此count
永远不会更改。我猜您的意图是当输入是有效整数时,增加计数
;否则,不要对计数进行任何操作
这是代码,isint
标志不需要:
import sys
while True:
my_int=raw_input("How many integers?")
try:
my_int=int(my_int)
break
except ValueError:
print("You must enter an integer")
ints=list()
count=0
while count<my_int:
new_int=raw_input("Please enter integer{0}:".format(count+1))
try:
new_int=int(new_int)
ints.append(new_int)
count += 1
except:
print("You must enter an integer")
导入系统
尽管如此:
my_int=原始输入(“多少个整数?”)
尝试:
my_int=int(my_int)
打破
除值错误外:
打印(“必须输入整数”)
ints=list()
计数=0
而count则是一个更好的代码:
import sys
my_int=raw_input("How many integers?")
try:
my_int=int(my_int)
except ValueError:
("You must enter an integer")
ints = []
for count in range(0, my_int):
new_int=raw_input("Please enter integer{0}:".format(count+1))
isint=False
try:
new_int=int(new_int)
isint = True
except:
print("You must enter an integer")
if isint==True:
ints.append(new_int)
更好的代码:
import sys
my_int=raw_input("How many integers?")
try:
my_int=int(my_int)
except ValueError:
("You must enter an integer")
ints = []
for count in range(0, my_int):
new_int=raw_input("Please enter integer{0}:".format(count+1))
isint=False
try:
new_int=int(new_int)
isint = True
except:
print("You must enter an integer")
if isint==True:
ints.append(new_int)
如果isint==True
-什么时候会为True?为什么需要布尔检查?只需在中输入int时所需的所有代码,如果isint==True,请尝试使用-何时会为True?为什么需要布尔检查?只需在中输入整数时所需的所有代码,然后尝试
有多少整数?3请输入整数1:1请输入整数2:2请输入整数3:3有多少整数?3请输入整数1:1请输入整数2:2请输入整数3:3现在它运行得很好谢谢你。我感谢所有帮助我的人。有多少整数?3请输入整数1:1请输入整数2:2请输入整数3:3有多少整数?3请输入整数1:1请输入整数2:2请输入整数3:3现在它运行得很好谢谢你。我感谢所有帮助我的人。