吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1529|回复: 22
收起左侧

[已解决] 【python】求助

[复制链接]
zim万岁 发表于 2020-4-11 11:27
本帖最后由 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啊,为什么会提示小了呢????



有能力的大佬可以帮我修改下,和我的对比对比


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

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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

写错了呀
else:print('咳咳,小了')
这一句
改了一下
[Python] 纯文本查看 复制代码
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可以跳出循环)

[Python] 纯文本查看 复制代码
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
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 18:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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