Python3.几个简单的for循环但是没有输出,为什么呢?
天蓬老师
天蓬老师 2017-04-17 17:40:03
0
3
686


天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(3)
黄舟


C'est le résultat du parcours i!=j Vous pouvez voir que lors du parcours vers i=1,j=3, la condition est remplie, count 1 , puis 1 et 3 sont supprimés de list_c.

Ensuite, comme deux chiffres ont été supprimés du début de list_c, les éléments du tableau sont avancés de deux chiffres et j dans la boucle suivante est égal à 6. Ensuite, i!=j à ce moment-là, et le nombre a changé en raison à la boucle précédente, il est devenu 1, donc la suppression sera toujours exécutée cette fois.

Et puisque 1 a été supprimé, list_c.remove(1) signalera une erreur.

a=18
list_c = list(range(1,a+1))
max = list_c[-1] + list_c[-2]
k=[]
for i in range(100):
    if i**2<=max:
        k.append(i**2)
count=0
for i in range(a-1,-1,-1):
    if list_c[i] == 0:
        continue
    for j in range(0,a):
        if list_c[j]==0:
            continue
        if list_c[i] != list_c[j]:
            if list_c[i]+list_c[j] in k:
                print("%s 和 %s配对" % (list_c[i],list_c[j]))
                list_c[i]=0
                list_c[j]=0
                break
刘奇
if i + j in k:
    count += 1

Vous l'avez probablement écrit par erreur comme count 1.

黄舟

Frère, je vous suggère d'utiliser un meilleur IDLE. Au moins, il vous avertira si vous faites une erreur en écrivant le code, sinon ce genre d'erreur serait tellement ennuyeux

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal