鱼C论坛

 找回密码
 立即注册
查看: 1440|回复: 4

[已解决]新手求助一下

[复制链接]
发表于 2022-1-19 23:53:53 | 显示全部楼层 |阅读模式

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

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

x
temp = input("请输入你的分数:")     

while temp != "e":
    temp = int(temp)

    if temp < 60:
        print("D")

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

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

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

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

    temp = input("请输入你的分数:")

各位大佬,请问一下最上面一行和最下面一行起的什么作用,为什么去掉最后一行代码会一直循环,一直不太理解,
最佳答案
2022-1-20 05:34:30
最上面一行和最下面一行虽然都是向用户输入一个分数,
但是您看,第一次执行完上面那条 input 语句是向用户输出的,
但后面的代码有 while 循环,它的语法如下:
while 条件:
      代码
这里当 条件成立时,便会一直重复执行下面的代码,直到条件为假为止。
在看您的代码,您设置的 while 循环条件 就是 temp != "e" ,
所以只有当 temp 变量 等于 "e" 时,循环里的语句:
    temp = int(temp)
    if temp < 60:
        print("D")

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

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

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

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

但是当执行完这一段时,您并不能直接运行,因为下面一段 :
temp = input("请输入你的分数:") 
也至关重要!为什么这样说呢?
因为如果没有写着一行代码,
那么 while 循环就会一直停不了,
因为当下一次循环时,如果不更新 成绩 ,那就还是那个成绩,
然而您设置的退出条件是 temp ! = "e" 不成立时才会退出,
所以如果一直是一个成绩,就一直不会退出,因为它一直都是那个成绩,一直都不会等于 "e",
除非您第一次就输入 "e" ,否则就会一直死循环,
所以为了更新 成绩 temp 的值,就需要添这样一行代码:
temp = input("请输入你的分数:")
这样每一次就能更新一下 temp 变量 的值,就不会死循环,能在输入 "e" 时直接退出。


懂了吗?不懂可以再问!懂了就给个好评呗!!!

打字不易!请给个好评!!!
兄弟!给个好评!求求了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-20 05:34:30 | 显示全部楼层    本楼为最佳答案   
最上面一行和最下面一行虽然都是向用户输入一个分数,
但是您看,第一次执行完上面那条 input 语句是向用户输出的,
但后面的代码有 while 循环,它的语法如下:
while 条件:
      代码
这里当 条件成立时,便会一直重复执行下面的代码,直到条件为假为止。
在看您的代码,您设置的 while 循环条件 就是 temp != "e" ,
所以只有当 temp 变量 等于 "e" 时,循环里的语句:
    temp = int(temp)
    if temp < 60:
        print("D")

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

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

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

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

但是当执行完这一段时,您并不能直接运行,因为下面一段 :
temp = input("请输入你的分数:") 
也至关重要!为什么这样说呢?
因为如果没有写着一行代码,
那么 while 循环就会一直停不了,
因为当下一次循环时,如果不更新 成绩 ,那就还是那个成绩,
然而您设置的退出条件是 temp ! = "e" 不成立时才会退出,
所以如果一直是一个成绩,就一直不会退出,因为它一直都是那个成绩,一直都不会等于 "e",
除非您第一次就输入 "e" ,否则就会一直死循环,
所以为了更新 成绩 temp 的值,就需要添这样一行代码:
temp = input("请输入你的分数:")
这样每一次就能更新一下 temp 变量 的值,就不会死循环,能在输入 "e" 时直接退出。


懂了吗?不懂可以再问!懂了就给个好评呗!!!

打字不易!请给个好评!!!
兄弟!给个好评!求求了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-1-20 11:22:45 | 显示全部楼层
你好,请问一下如果用break能不能用,因为我有点看不懂最后一行代码的含义
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-20 15:10:43 From FishC Mobile | 显示全部楼层
李何a 发表于 2022-1-20 11:22
你好,请问一下如果用break能不能用,因为我有点看不懂最后一行代码的含义



1.)代码没有规定一定要全部都写一样,只要输出结果没有问题,你想怎样写就怎么写,毕竟每个人的思路不同。
2.)至于你的代码含义,楼上大佬的解说已经很清楚了,你的有点看不懂,是哪方面不懂?

看医生也得告诉医生哪里疼,医生才能对症下药不是吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-20 17:34:11 | 显示全部楼层
李何a 发表于 2022-1-20 11:22
你好,请问一下如果用break能不能用,因为我有点看不懂最后一行代码的含义

break可以用吧,但是只能输入一个分数输出一个结果就歇了,这个最后一行可以让你输入多个分数,然后求多个分数对应的结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 09:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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