1171527218 发表于 2022-2-14 23:20:22

关于有限循环程序运行的问题

print('--------游戏开始------------')

conts = 3

while conts > 0:
      temp = input('请输入数字:')
      guess= int(conts)
      
      conts = conts - 1
      
      if guess == 9:
            print('猜对了真聪明')
            print('甘拜下风')
            break
      else:
            if guess > 9:
                  print('大了,大了')
            else:
                  print('小了,小了')

   
print('游戏结束')
为什么我这个程序运行得出的结论一直是小了。就算输入正确的答案,也是输出小了、。。。求大佬解答!!!!!

isdkz 发表于 2022-2-14 23:23:53

因为你的guess=int(conts)这里错了,应该是guess=int(temp)

Lijingyang 发表于 2022-2-14 23:32:33

int里面应该填temp,conts只是对总次数的限定而真正的变量是temp

1171527218 发表于 2022-2-15 18:34:06

为什么变更为guess = int(temp).这个代码就无法运行了直接显示:
------游戏开始--------
Traceback (most recent call last):
File "C:/Users/11715/Desktop/5.py", line 4, in <module>
    while couts > 0:
NameError: name 'couts' is not defined
我主要的目的是做一次有限的循环,请问我这个代码应该怎么优化编写?

不弃_ 发表于 2022-2-15 19:48:41

1171527218 发表于 2022-2-15 18:34
为什么变更为guess = int(temp).这个代码就无法运行了直接显示:
------游戏开始--------
Traceback (m ...

报错是因为couts变量没被赋值
print('--------游戏开始------------')



while 1:
      temp = input('请输入数字:')
      guess= int(temp)
      
      
      
      
      if guess == 9:
            print('猜对了真聪明')
            print('甘拜下风')
            break                                       #注意这里 当数字才对是循环推出,猜不对就一直猜
      else:
            if guess > 9:
                  print('大了,大了')
            else:
                  print('小了,小了')

   
print('游戏结束')

1171527218 发表于 2022-2-15 21:46:49

不弃_ 发表于 2022-2-15 19:48
报错是因为couts变量没被赋值

请问while为什么后面需要跟一个“1”?并且添加一个数值,让这个代码能够进行有限的循环?

isdkz 发表于 2022-2-15 21:56:25

1171527218 发表于 2022-2-15 21:46
请问while为什么后面需要跟一个“1”?并且添加一个数值,让这个代码能够进行有限的循环?

他那个的意思是无限机会,直到猜对才用break跳出循环

不弃_ 发表于 2022-2-16 09:49:11

1171527218 发表于 2022-2-15 21:46
请问while为什么后面需要跟一个“1”?并且添加一个数值,让这个代码能够进行有限的循环?

那你可以设置一个变量t,当变量的值变为零时结束循环
print('--------游戏开始------------')

t = 3

while t:
      temp = input('请输入数字:')
      guess= int(temp)
      
      
      
      
      if guess == 9:
            print('猜对了真聪明')
            print('甘拜下风')
            break                                       #注意这里 当数字才对是循环推出,猜不对就一直猜
      else:
            if guess > 9:
                  print('大了,大了')
            else:
                  print('小了,小了')
   t -= 1                        #t自减一
   
print('游戏结束')
页: [1]
查看完整版本: 关于有限循环程序运行的问题