鱼C论坛

 找回密码
 立即注册
查看: 1006|回复: 4

[已解决]我想设计一个每次回答一次数字都会提示还有几次机会,应该怎么改进?

[复制链接]
发表于 2020-8-13 11:16:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import random
true = random.randint(1,100)
i=1
a=10
print("——————以下是游戏内容——————")
print("我们来玩一个猜数字的游戏吧~~")
temp = input("现在我想好了一个1~100的数字,你来猜猜是什么吧~~只有十次机会哟!")
guess = int(temp)
while guess != true and i<10:
    if guess > true:
        print("猜大了猜大了")
    elif guess < true:
            print("猜小了猜小了")
    else:
        break
    temp = input("再猜一次吧:")
    guess = int(temp)
    a=a-1
    print("你还有"+a+"次机会哦~")
    i=i+1

print("我草?你是我心里的蛔虫吗?猜的好准~")
print("不过猜对了也没有奖励!!哈哈")
print("游戏结束,再见啦~")



这个方法是错误的,我不知道为什么
最佳答案
2020-8-13 11:17:33
字符串不能直接和整数拼接,所以需要先将 a 转化为整数
import random
true = random.randint(1,100)
i=1
a=10
print("——————以下是游戏内容——————")
print("我们来玩一个猜数字的游戏吧~~")
temp = input("现在我想好了一个1~100的数字,你来猜猜是什么吧~~只有十次机会哟!")
guess = int(temp)
while guess != true and i<10:
    if guess > true:
        print("猜大了猜大了")
    elif guess < true:
            print("猜小了猜小了")
    else:
        break
    temp = input("再猜一次吧:")
    guess = int(temp)
    a=a-1
    print("你还有"+str(a)+"次机会哦~")
    i=i+1

print("我草?你是我心里的蛔虫吗?猜的好准~")
print("不过猜对了也没有奖励!!哈哈")
print("游戏结束,再见啦~")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-13 11:17:33 | 显示全部楼层    本楼为最佳答案   
字符串不能直接和整数拼接,所以需要先将 a 转化为整数
import random
true = random.randint(1,100)
i=1
a=10
print("——————以下是游戏内容——————")
print("我们来玩一个猜数字的游戏吧~~")
temp = input("现在我想好了一个1~100的数字,你来猜猜是什么吧~~只有十次机会哟!")
guess = int(temp)
while guess != true and i<10:
    if guess > true:
        print("猜大了猜大了")
    elif guess < true:
            print("猜小了猜小了")
    else:
        break
    temp = input("再猜一次吧:")
    guess = int(temp)
    a=a-1
    print("你还有"+str(a)+"次机会哦~")
    i=i+1

print("我草?你是我心里的蛔虫吗?猜的好准~")
print("不过猜对了也没有奖励!!哈哈")
print("游戏结束,再见啦~")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 11:21:09 | 显示全部楼层
嘿嘿,我以前也是一样的想法,加些自己想要的东西,下面这版是后面学了easygui之后又回去改的代码,大致一样,easygui相关的你自行忽略即可;
import easygui as eg
import random
num = eg.integerbox('请猜出我想的一个数字,范围再1-10之间的整数(只有3次机会哦 ^-^)', '猜数字小游戏', lowerbound=1, upperbound=10)
secret = random.randint(1,10)
count = 3
print(secret)
while True:
    if count == 0:#3次机会用完时结束游戏
        eg.msgbox(('呀!3次机会都用完了,下次再猜吧0.0'))
        break
    elif num == secret:#猜对了之后结束游戏
        eg.msgbox('恭喜你!回答正确!')
        break
    elif num > secret:#猜大了
        eg.msgbox('大了')
        count -= 1
        num = eg.integerbox('再猜一次吧!你还有%s次机会' % count, '猜数字小游戏', lowerbound=1, upperbound=10)
    elif num < secret:#猜小了
        eg.msgbox('小了')
        count -= 1
        num = eg.integerbox('再猜一次吧!你还有%s次机会' % count, '猜数字小游戏', lowerbound=1, upperbound=10)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 11:22:21 | 显示全部楼层
yhhpf 发表于 2020-8-13 11:21
嘿嘿,我以前也是一样的想法,加些自己想要的东西,下面这版是后面学了easygui之后又回去改的代码,大致一 ...

天啦撸,没看懂,拜托大佬能按照我写的帮忙写一下吗~拜托了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 11:24:40 | 显示全部楼层
zltzlt 发表于 2020-8-13 11:17
字符串不能直接和整数拼接,所以需要先将 a 转化为整数

大佬,第一次就出现机会怎么改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 11:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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