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)
为什么标记的循环不起作用?由于某种原因,我没有得到输入线。
答案 0 :(得分:2)
range(1, n+1)
时你说n=0
。 range(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)是一个空列表,因此不会执行迭代。