簡體   English   中英

python程序的無限循環

[英]Infinite loop for python program

我對此代碼有疑問,該程序應允許您輸入學生,直到通過次數達到8或學生總數達到10為止。但是目前,它一直在要求輸入,因此存在無限循環。 我該如何解決這個問題?

total_students=0
student_passes=0
student_failures=0

while (total_students <= 10) or (student_passes != 8):
        result=int(input("Input the exam result: "))
        if result>=50:
            student_passes = student_passes + 1
        else:
            student_failures = student_failures + 1
        total_students = total_students + 1

 print (student_passes)
 print (student_failures)

 if student_passes >= 8:
     print ("Well done")

將或更改為和。 兩者都成立的同時,您繼續:

total_students=0
student_passes=0
student_failures=0

while (total_students != 10) and (student_passes != 8): # != or <
        result=int(input("Input the exam result: "))
        if result>=50:
            student_passes += 1
        else:
            student_failures += 1
        total_students +=1

print (student_passes)
print (student_failures)

您可能需要重新訪問代碼。 我不是python專家,但是我相信您應該修改while循環的條件。

例如while(total_students <= 10)或(student_passes <= 8):這將解決您的問題。

total_students=0
student_passes=0
student_failures=0

while (total_students <= 10) or (student_passes <= 8):
        result=int(input("Input the exam result: "))
        if result>=50:
            student_passes = student_passes + 1
        else:
            student_failures = student_failures + 1
        total_students = total_students + 1

 print (student_passes)
 print (student_failures)

 if student_passes >= 8:
     print ("Well done")

您應該使用代替滿足您的要求。

total_students=0
student_passes=0
student_failures=0

while (total_students <= 10 and student_passes < 8):
        result=int(input("Input the exam result: "))
        if result>=50:
            student_passes = student_passes + 1
        else:
            student_failures = student_failures + 1
        total_students = total_students + 1

print (student_passes)
print (student_failures)

if student_passes >= 8:
    print ("Well done")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM