python - while if else循环判断值的顺序
PHP中文网
PHP中文网 2017-04-18 10:18:52
0
2
779

def showMaxFactor(num):

count=num//2
while count>1:
    if num % count==0:
        print('%d最大的约数是%d'%(num,count))
        break
    count-=1
else:
    print('%d是素数!'%num)

num=int(input('请输入一个数:'))
showMaxFactor(num)
请输入一个数:9
9最大的约数是3

运行过程:count=9//2=4>1,判断9%4=1!=0. 所以count=4-1 在循环while吗

是这样的吗

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(2)
洪涛

La compréhension du processus en cours est correcte, mais il y a quelque chose qui ne va pas avec le code.
Selon les règles d'indentation du code python, le dernier else ne peut pas correspondre à if. Vous pouvez l'écrire comme ceci :

while count>1:
    if num % count==0:
        print('%d最大的约数是%d'%(num,count))
        break
    count-=1
if count == 1:
    print('%d是素数!'%num)
Ty80

Oui, sauf si vous dépassez ou comptez>1, il doit toujours être dans la boucle while, et la syntaxe mentionnée ci-dessus hahaha

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