为什么这个循环没有运行?

时间:2017-05-20 10:12:30

标签: python

n=int(input("Kiek elementų turės tavo sąrašas"))
A=[]
n=0
t=0
teig=int(input("Įvesk teigiamą elementą kurį noprėsi pridėti prie sąrašo"))
neig=int(input("Įvesk neigiamą elementą kurį norėsi pridėti prie sąrašo"))
for a in range(1,n+1): # HERE #########
    t=int(input("Įvesk %i masyvo elementą"%(a)))
    A.append(t)**
for x in A:
    if x>0:
        t=t+1
    else:
        n=n+1
if n<t:
    a=t-n
else:
    a=n-t
for x in range(1,a+1):
    if n<t:
        A.append(teig)
    else:
        A.append(neig)

为什么标记的循环不起作用?由于某种原因,我没有得到输入线。

5 个答案:

答案 0 :(得分:2)

range(1, n+1)时你说n=0range(1, 1)为空,因此循环永远不会执行。增加n

答案 1 :(得分:1)

n = 0所以range(1,n+1)range(1,1),当迭代时它等同于[],因此循环体永远不会发生。

您需要删除作业n = 0,以便改为使用从用户读取的值。

答案 2 :(得分:1)

您有for a in range(1,n+1):n=0所以它是range(1,1) []

答案 3 :(得分:0)

让您的代码更简单:

for a in range(1,1):
    print("ok")

不能工作。

for a in range(1,2):
    print("ok")

作品:) 因此,在编写循环时可能会遇到逻辑问题。

答案 4 :(得分:0)

你从1骑行到n + 1,但是n + 1是1。 range(1,1)是一个空列表,因此不会执行迭代。