为什么最后一道加上numb = input("请输入你的分数:")不会循环了???
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("请输入你的分数:")不会循环了???
你的代码中最后一行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'时,循环会停止。 isdkz 发表于 2023-4-7 17:11
你的代码中最后一行numb = input("请输入你的分数")缺少了一个冒号。应该是numb = input("请输入你的分数: ...
能不能讲一下为啥输入e就不循环了呢 鱼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循环的条件不再成立。 在这个代码中,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() 函数,等待下一次的用户输入。这样,程序就能够一直运行下去,直到用户主动结束程序。
页:
[1]