Board logo

標題: [隨堂測驗] while迴圈 (三) [打印本頁]

作者: 鄭繼威    時間: 2024-1-24 16:08     標題: [隨堂測驗] while迴圈 (三)

在while迴圈中,若持續的條件設為「True」或「1」,則會造成無窮迴圈。
  1. while(True):
  2.     執行區塊
複製代碼
試以 while(True) 架構搭配 break 指令,設計一個計算平均分數的小程式,使用者可持續輸入學生的成績直到輸入「-1」。程式執行畫面如下:

  1. n=0
  2. sum=0
  3. while(True):
  4.     score=float(input("請輸入第%d個學生的成績: "%(n+1)))
  5.     if score==-1:
  6.         break
  7.     sum+=score
  8.     n+=1
  9. print("\n以上%d位學生的平均分數為 %.2f。"%(n,sum/n))
複製代碼
  1. n=0
  2. list=[]
  3. while(True):
  4.     score=float(input("請輸入第%d個學生的成績: "%(n+1)))
  5.     if score==-1:
  6.         break
  7.     list.append(score)
  8.     n+=1
  9. print("\n以上%d位學生的平均分數為 %.2f。"%(n,sum(list)/n))
複製代碼

作者: 鄭繼威    時間: 2024-1-25 15:55

  1. n=1 #人數
  2. s=0 #總分

  3. while(True):
  4.     print(f"請輸入第{n}位學生的成績:")
  5.     score=float(input())
  6.     if score==-1:
  7.         break
  8.     s=s+score  #加總分數
  9.    
  10.     n=n+1   #下一位同學
  11.    
  12. print(f"以上{n-1}位同學平均為{s/(n-1)}")
複製代碼

作者: 李承睿    時間: 2024-1-25 15:59

  1. n=1
  2. sum=0
  3. while(True):
  4.     score=int(input(f"請輸入第{n}位學生的成績"))
  5.     if score<0:
  6.         break
  7.     sum+=score
  8.     n+=1
  9. print(f"\n以上{n-1}位學生的平均分數為{sum/(n-1)}。")
複製代碼

作者: 劉娀德    時間: 2024-1-25 16:02

  1. peo=0
  2. n=0
  3. while(True):
  4.     sce=float(input("enter score"))
  5.     if(sce==-1):
  6.     break
  7. peo+=sce
  8. n+=1
  9. print(f"{peo}位學生平均(n/peo)")
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2