我想将整数列表(在选取素数之后)转换为文本,一个 str (不是字符串列表)。如何以有效的方式实现它,当我运行程序时,它什么也没有显示,甚至没有显示“错误” 顺便说一句,程序应该显示:“11-19”
这是我的代码:
v=[11,18,19]
n=3
def premier(v):
I=2
valid=True
while valid==True and ( I<=(v/2) ) :
if (v%I !=0) :
I +=1
else:
valide=False
return(valid)
def chaine(v,n):
ch=""
for i in range(n):
if premier(v[i]):
ch=ch+str(v[i])+"-"
ch=ch[:len(ch)-1]
return(ch)
print(chaine(v,n))
函数
else
的第一个premier
语句中存在拼写错误,这会导致无限循环。
v=[11,18,19]
n=3
def premier(v):
I=2
valid=True
while valid==True and ( I<=(v/2) ) :
if (v%I !=0) :
I +=1
else:
valid=False
return(valid)
def chaine(v,n):
ch=""
for i in range(n):
if premier(v[i]):
ch=ch+str(v[i])+"-"
ch=ch[:len(ch)-1]
return(ch)
print(chaine(v,n))
通过这个微小的更改,您的代码应该可以正常工作。让我知道这是否适合您。
一个小错字导致它停止工作。您需要更改第 1 行中的
valide=False
。 while 循环中的 10 到 valid=False