|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 imspider 于 2018-3-31 14:36 编辑
我是一个编程小白,以前从来没有接触过编程,昨天晚上才开始学习小甲鱼的 Python 教程。
我学的很慢,从事本职工作的同时一边看课程,一边举一反三的写代码。今天才看到第 4 课。
第 4 课的内容是改进第 2 课的数字游戏,我按照老师的要求自己改进了。但我想进一步改进的时候卡在了某个地方,我本来想自己解决,找了些其它高手写的代码来看还是没弄懂,实在是我的编程基础太弱了。
以下是我的代码:
- import random
- secret = random.randint(1,10)
- times = 3
- temp = input('从1到10之间猜一个数字,你有3次机会:\n')
- guess = int(temp)
- while guess != secret and times > 1:
- if guess > secret:
- times = times -1
- temp = input('大了,你还有' + str(times) + '次机会,重新输入:\n')
- guess = int(temp)
- else:
- times = times -1
- temp = input('小了,你还有' + str(times) + '次机会,重新输入:\n')
- guess = int(temp)
- if times < 1:
- print('机会用完,下次再来')
- if guess == secret:
- print('对了')
- print('结束')
复制代码
这段代码运行后,第一次猜中、第一次猜错而第二次猜中、第一第二次都错而第三次猜中,都是正常的。
但三次都猜错的话,不会提示「机会用完,下次再来」,而是直接显示「结束」。我反复修改了很多次都不行。
请问我的代码问题出在哪里?
我这段代码有没有哪里需要改进的地方,比如可以更简洁一点。
非常感谢!
- import random
- secret = random.randint(1,10)
- times = 4
- temp = input('从1到10之间猜一个数字,你有3次机会:\n')
- guess = int(temp)
- while times > 1:
- times = times -1
- if guess == secret:
- print("对了")
- break
-
- if guess > secret:
- temp = input('大了,你还有' + str(times) + '次机会,重新输入:\n')
- else:
- temp = input('小了,你还有' + str(times) + '次机会,重新输入:\n')
- guess = int(temp)
-
- if times <= 1:
- print('机会用完,下次再来')
- break
-
- print('结束')
复制代码
|
|