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}:".

我是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}:".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现在它运行得很好谢谢你。我感谢所有帮助我的人。