zim万岁 发表于 2020-4-11 11:27

【python】求助

本帖最后由 zim万岁 于 2020-4-11 17:06 编辑

帮忙看看代码:
print('---------------游戏-----------------')
temp = input('猜猜我心里想的是哪个数字:')
guess = int(temp)
while guess != 8:
    if guess < 8:
      print('咳咳,小了')
      temp = input('猜错了,重新输入:')
      guess = int(temp)
    if guess > 8:
      print('猜大了')
      temp = input('猜错了,重新输入:')
else:print('咳咳,小了')
while guess != 8:
    if guess == 8:
      print("WOW,对了!!!!!!!")
      print('你厉害')
      print("哼,就算猜中了也没奖励")
print('游戏结束啦~~~~~')


大家看看哪里出了问题,可以运行,但是会出现下面情况:
---------------游戏-----------------
猜猜我心里想的是哪个数字:8
咳咳,小了
游戏结束啦~~~~~


但是答案确实是8啊,为什么会提示小了呢????



有能力的大佬可以帮我修改下,和我的对比对比{:301_971:}


谢谢各位大佬,本人纯属小白,勿喷

a976606645 发表于 2020-4-11 11:35

本帖最后由 a976606645 于 2020-4-11 11:41 编辑

写错了呀
else:print('咳咳,小了')
这一句
改了一下
print('---------------游戏-----------------')
temp = input('猜猜我心里想的是哪个数字:')
guess = int(temp)
while guess != 8:
    if guess < 8:
      print('咳咳,小了')
      guess = int(input('猜错了,重新输入:'))
    if guess > 8:
      print('猜大了')
      guess = int(input('猜错了,重新输入:'))
print("WOW,对了!!!!!!!")
print('你厉害')
print("哼,就算猜中了也没奖励")
print('游戏结束啦~~~~~')

谢阿金 发表于 2020-4-11 11:36

本帖最后由 谢阿金 于 2020-4-11 11:37 编辑

因为guess = 8
所以执行else:print('咳咳,小了')

435km/s 发表于 2020-4-11 11:36

else:print('咳咳,小了'),这句要缩进,而且不能这样写

caacj123 发表于 2020-4-11 11:37

写python要注意空格,else没有缩进。

Mr.A 发表于 2020-4-11 11:37

else:print('咳咳,小了')没有和if对齐,所以等于8经过while判断之后直接执行了else的内容

435km/s 发表于 2020-4-11 11:38

上面那个循环还要判断当guess==8的情况

abc265 发表于 2020-4-11 11:42

不知道你是本来就这样写的,还是转到这里时弄错了,你两个while都是guess!=8 ,所以全都直接跳过了,然后运行了else后面的语句

Zeaf 发表于 2020-4-11 11:54

本帖最后由 Zeaf 于 2020-4-11 12:50 编辑

注意条件判断语句(怎么又是你在问)
if
elif
else
其中elif可以使用多次
while true这样用然后再接条件判断语句比较好(break可以跳出循环)

print('---------------游戏-----------------')
while True:
    guess = int(input('猜猜我心里想的是哪个数字:'))
    try:
      if guess < 8:
            print('咳咳,小了')
      elif guess > 8:
            print('猜大了')
      elif guess == 8:#或者直接用else
            print("WOW,对了!!!!!!!")
            print('你厉害')
            print("哼,就算猜中了也没奖励")
            break
    except:
      print('输入有误,请重试。')
print('游戏结束啦~~~~~')

sthelena 发表于 2020-4-11 12:08

没看懂为什么要用两个while
页: [1] 2 3
查看完整版本: 【python】求助