鱼C论坛

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

[已解决]为什么最后一道加上numb = input("请输入你的分数:")不会循环了???

[复制链接]
发表于 2023-4-7 17:09:39 | 显示全部楼层 |阅读模式

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

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

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

while numb != 'e':

    numb = int(numb)

    if numb < 60:
        print('D')

    if 60 <= numb < 80:
        print('C')

    if 80 <= numb < 90:
        print('B')

    if 90 <= numb < 100:
        print('A')

    if numb == 100 :
        print('S')

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



为什么最后一道加上numb = input("请输入你的分数:")不会循环了???
  
最佳答案
2023-4-8 00:50:40
鱼C小迷弟丶 发表于 2023-4-8 00:47
能不能讲一下为啥输入e就不循环了呢

在这个例子中,while循环的条件是numb != 'e'。这意味着只要numb的值不等于'e',循环就会一直执行下去。

当用户输入一个数字(如 85)时,numb的值将是一个包含数字字符的字符串(如'85')。接下来,程序会将该字符串转换为整数(在这个例子中是 85),然后根据整数值输出相应的等级。在循环的末尾,程序会再次提示用户输入分数,然后将其赋给numb。

当用户输入'e'时,numb的值将会是字符串'e'。在这种情况下,while循环的条件numb != 'e'不再成立,因为numb的值现在等于'e'。由于循环条件不再满足,程序将跳出while循环,并继续执行循环之后的代码(如果有的话)。

所以,当用户输入'e'时,循环会停止,因为while循环的条件不再成立。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-7 17:11:28 | 显示全部楼层
你的代码中最后一行numb = input("请输入你的分数")缺少了一个冒号。应该是numb = input("请输入你的分数:")。当你在提示中加上冒号,用户输入会更清晰。

另外,这段代码本身是可以循环的。只要用户不输入'e',这个循环就会一直执行下去。当用户输入'e'时,循环会停止。我稍微修改了一下你的代码,以便更好地展示循环效果:
numb = input("请输入你的分数:")

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

    if numb < 60:
        print('D')
    elif 60 <= numb < 80:
        print('C')
    elif 80 <= numb < 90:
        print('B')
    elif 90 <= numb < 100:
        print('A')
    elif numb == 100:
        print('S')

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

现在,当你输入一个数字并按回车键后,代码会输出相应的等级。然后再次提示你输入一个分数。当你输入'e'时,循环会停止。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-8 00:47:57 From FishC Mobile | 显示全部楼层
isdkz 发表于 2023-4-7 17:11
你的代码中最后一行numb = input("请输入你的分数")缺少了一个冒号。应该是numb = input("请输入你的分数: ...

能不能讲一下为啥输入e就不循环了呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-8 00:50:40 | 显示全部楼层    本楼为最佳答案   
鱼C小迷弟丶 发表于 2023-4-8 00:47
能不能讲一下为啥输入e就不循环了呢

在这个例子中,while循环的条件是numb != 'e'。这意味着只要numb的值不等于'e',循环就会一直执行下去。

当用户输入一个数字(如 85)时,numb的值将是一个包含数字字符的字符串(如'85')。接下来,程序会将该字符串转换为整数(在这个例子中是 85),然后根据整数值输出相应的等级。在循环的末尾,程序会再次提示用户输入分数,然后将其赋给numb。

当用户输入'e'时,numb的值将会是字符串'e'。在这种情况下,while循环的条件numb != 'e'不再成立,因为numb的值现在等于'e'。由于循环条件不再满足,程序将跳出while循环,并继续执行循环之后的代码(如果有的话)。

所以,当用户输入'e'时,循环会停止,因为while循环的条件不再成立。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-8 08:02:56 | 显示全部楼层
在这个代码中,numb 变量在 while 循环中用来表示用户输入的分数,并且在循环体中被修改为下一次的输入值。当用户在输入分数时输入了字母 "e",循环终止。

当用户输入 "e" 时,循环会停止,因为在下一次循环开始前,循环条件 numb != 'e' 已经不满足了,所以循环终止。
如果你想让程序继续运行,你可以把整个循环放到一个函数中,并在循环结束后再次调用该函数。这样,当循环结束后,程序就会重新执行该函数,并等待用户的输入。

以下是修改后的代码示例:
def score():
    numb = input("请输入你的分数:")
    while numb != 'e':
        numb = int(numb)
        if numb < 60:
            print('D')
        elif 60 <= numb < 80:
            print('C')
        elif 80 <= numb < 90:
            print('B')
        elif 90 <= numb < 100:
            print('A')
        elif numb == 100:
            print('S')
        numb = input("请输入你的分数:")
    score()

score()
在这个示例中,将 while 循环放在一个名为 score 的函数中,并在函数末尾递归调用 score() 函数。这样,当用户输入 "e" 时,循环终止,然后程序再次调用 score() 函数,等待下一次的用户输入。这样,程序就能够一直运行下去,直到用户主动结束程序。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 20:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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