鱼C论坛

 找回密码
 立即注册
查看: 2247|回复: 5

[已解决]第六講功課,求大神指教

[复制链接]
发表于 2022-11-25 04:37:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. score = input("请输入你的分数:")

  2. while score != 'e':
  3.     score = int(score)

  4.     if score < 60:
  5.         print("D")

  6.     if 60 <= score < 80:
  7.         print("C")

  8.     if 80 <= score < 90:
  9.         print("B")

  10.     if 90 <= score < 100:
  11.         print("A")

  12.     if score == 100:
  13.         print("S")

  14.     score = input("请输入你的分数:")
复制代码


請問應該如何理解呢一段代碼呢?
最佳答案
2022-11-25 08:03:16
score = input("请输入你的分数:") #输入分数存在score中

while score != 'e': #只要score的值不等于e就继续循环下去
    score = int(score) #把score的值定义为int型

    if score < 60:
        print("D")

    if 60 <= score < 80:
        print("C")

    if 80 <= score < 90:
        print("B")

    if 90 <= score < 100:
        print("A")

    if score == 100:
        print("S")

    score = input("请输入你的分数:") #在循环什上面的if语句完后,来到这里重新存个分数继续循环,直到你输入e后才停止循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-11-25 05:17:40 | 显示全部楼层
好像這樣又可以運行哦~~

  1. mark = input("請輸入你的分數: ")

  2. while mark != "e":
  3.     mark = int(mark)
  4.     if mark == 100:
  5.         print("S")
  6.     else:
  7.         if mark >= 90:
  8.             print("A")
  9.         else:
  10.             if mark >= 80:
  11.                 print("B")
  12.             else:
  13.                 if mark >= 60:
  14.                     print("C")
  15.                 else:
  16.                     print("D")
  17.     mark = input("請輸入你的分數: ")
复制代码


這個是自已寫的, 但好像復雜了是嗎?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-25 08:03:16 | 显示全部楼层    本楼为最佳答案   
score = input("请输入你的分数:") #输入分数存在score中

while score != 'e': #只要score的值不等于e就继续循环下去
    score = int(score) #把score的值定义为int型

    if score < 60:
        print("D")

    if 60 <= score < 80:
        print("C")

    if 80 <= score < 90:
        print("B")

    if 90 <= score < 100:
        print("A")

    if score == 100:
        print("S")

    score = input("请输入你的分数:") #在循环什上面的if语句完后,来到这里重新存个分数继续循环,直到你输入e后才停止循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-25 08:11:41 | 显示全部楼层
網絡奇人怪小四 发表于 2022-11-25 05:17
好像這樣又可以運行哦~~

score = input("请输入你的分数:") #输入分数存在score中

while score != 'e':
    score = int(score)

    if score < 60:
        print("D")

    elif 60 <= score < 80:
        print("C")

    elif 80 <= score < 90:
        print("B")

    elif 90 <= score < 100:
        print("A")

    elif score == 100:
        print("S")

    score = input("请输入你的分数:")
可以把你else :if 换成elif :

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-25 10:03:09 | 显示全部楼层
本帖最后由 jackz007 于 2022-11-25 10:07 编辑

        级联方式
  1. if a < 1:
  2.     [a < 1 执行]
  3. elif a == 1:
  4.     [a = 1 执行]
  5. elif a == 2:
  6.     [a = 2 执行]
  7. elif a == 3:
  8.     [a =3 执行]
  9. else:
  10.     [a > 3 执行]
复制代码

        嵌套方式
  1. if a < 1:
  2.     [a < 1 执行]
  3. else:
  4.     if a == 1:
  5.         [a = 1 执行]
  6.     else:
  7.         if a == 2:
  8.             [a = 2 执行]
  9.         else:
  10.             if a == 3:
  11.                 [a = 3 执行]
  12.             else:
  13.                 [a > 3 执行]  
复制代码

        两种写法只是形式上有所不同,但是,代码执行的逻辑和效果却是完全一样的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-25 12:00:02 From FishC Mobile | 显示全部楼层
函數while給我的感覺就像自動偵測一樣,一發現條件滿足就馬上執行,再配合排縮和函數break可以令到while跳出循環
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-30 23:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表