这个程序的死循环在哪里啊?看不出来,求解答,原条件是从键盘上任意输数,直到识别到“#”时停止循环

img

img


这个程序的死循环在哪里啊?看不出来,求解答,原条件是从键盘上任意

从你的代码看出来,变量b用来存输入的数据,但是只存放了第一次输入的数据,没有根据输入去更新,所以造成了死循环。可以参考下面的代码看看

jishu=0
eva=0
while True:
    b = input()
    if b == '#':
        break
    a = int(b)
    jishu += 1
    eva += a
print("{} {}".format(jishu, eva))

您的 b = input() 应该放循环里面。

  • 代码运行效果截屏图片

    img

  • 代码
#!/sur/bin/nve python
# coding: utf-8

jishu = eva = b = 0 # 设定三个变量初值都为0。python 变量没有类型,可以任意赋值。

while b != '#':
    b = input('\n输入:')
    
    if b.isdigit(): # 输入排错:输入为整数数字字符,非不作处理。
        a = int(b)
        jishu += 1
        eva += a
    
print('\n输出:', jishu, eva)



不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^