|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小甲鱼提供的参考答案(经本人稍微修改):
#import random # 导入random模块 # 则下面对应必须使用random.randint()
from random import * # 则下面对应直接使用randint()
times = 3
secret = randint(1, 10) # 在1到10之间随机取值
print(secret)
print('----------我爱鱼C工作室----------')
guess = 0 # 这里先给guess赋值(赋一个绝对不等于secret的值)
print('不妨猜一下小甲鱼现在心里想的是哪个数字(%d次机会):' % times, end='') # print()默认是打印完字符串会自动添加一个换行符,end=''参数告诉print()用空格代替换行符,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
while (guess != secret) and (times > 0):
temp = input()
guess = int(temp)
times -= 1 # 或 times = times - 1
if guess == secret:
print('哎呀,你是小甲鱼心里的蛔虫吗?!')
print('哼,猜中了也没有奖励!')
else:
if guess > secret:
print('哥,大了大了哦~~!')
else:
print('嘿,小了!小了!!')
if times > 0:
print('还有%d次机会,再试一次吧:' % times, end='')
else:
print('%d次机会都用光咯T_T' % (times + 3))
print('游戏结束!不玩啦^_^')
因为刚开始学的都是temp=input(……),所以将代码修改如下:
#import random # 导入random模块 # 则下面对应必须使用random.randint()
from random import * # 则下面对应直接使用randint()
times = 3
secret = randint(1, 10) # 在1到10之间随机取值
print(secret)
print('----------我爱鱼C工作室----------')
guess = 0 # 这里先给guess赋值(赋一个绝对不等于secret的值)
temp = input('不妨猜一下小甲鱼现在心里想的是哪个数字(%d次机会):' % times) # print()默认是打印完字符串会自动添加一个换行符,end=''参数告诉print()用空格代替换行符,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
while (guess != secret) and (times > 0):
guess = int(temp)
times -= 1 # 或 times = times - 1
if guess == secret:
print('哎呀,你是小甲鱼心里的蛔虫吗?!')
print('哼,猜中了也没有奖励!')
else:
if guess > secret:
print('哥,大了大了哦~~!')
else:
print('嘿,小了!小了!!')
if times > 0:
temp = input('还有%d次机会,再试一次吧:' % times)
else:
print('%d次机会都用光咯T_T' % (times + 3))
print('游戏结束!不玩啦^_^')
感觉应该可以继续简化,所以继续修改如下:
#import random # 导入random模块 # 则下面对应必须使用random.randint()
from random import * # 则下面对应直接使用randint()
times = 3
secret = randint(1, 10) # 在1到10之间随机取值
print(secret)
print('----------我爱鱼C工作室----------')
#guess = 0 # 这里先给guess赋值(赋一个绝对不等于secret的值)
temp = input('不妨猜一下小甲鱼现在心里想的是哪个数字(%d次机会):' % times) # print()默认是打印完字符串会自动添加一个换行符,end=''参数告诉print()用空格代替换行符,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
while times > 0:
guess = int(temp)
times -= 1 # 或 times = times - 1
if guess == secret:
print('哎呀,你是小甲鱼心里的蛔虫吗?!')
print('哼,猜中了也没有奖励!')
else:
if guess > secret:
print('哥,大了大了哦~~!')
else:
print('嘿,小了!小了!!')
if times > 0:
temp = input('还有%d次机会,再试一次吧:' % times)
else:
print('%d次机会都用光咯T_T' % (times + 3))
print('游戏结束!不玩啦^_^')
运行后,如果第一次即猜中的话,返回结果如下:
3
----------我爱鱼C工作室----------
不妨猜一下小甲鱼现在心里想的是哪个数字(3次机会):3
哎呀,你是小甲鱼心里的蛔虫吗?!
哼,猜中了也没有奖励!
哎呀,你是小甲鱼心里的蛔虫吗?!
哼,猜中了也没有奖励!
哎呀,你是小甲鱼心里的蛔虫吗?!
哼,猜中了也没有奖励!
游戏结束!不玩啦^_^
【我的问题】
1、为何返回结果中“哎呀,你是小甲鱼心里的蛔虫吗?!哼,猜中了也没有奖励!“被打印了三次?
2、小甲鱼的代码中while (guess != secret) and (times > 0)为何要(guess != secret),不能直接while times > 0吗?
本帖最后由 jhq999 于 2022-12-1 11:11 编辑
你的第二个问题是第一个问题的答案
就是为了猜中后直接退出,不要再循环输出time次
|
|