|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import random
- number = random.randint (1,10)
- print ('猜数游戏,共有三次机会')
- temp = input ('请输入猜的数字:')
- guess = int (temp)
- i = 3
- if guess == number:
- print ('你赢啦!')
- else:
- while guess != number and i != 1:
- if guess == number:
- print ('正确')
- i = 3
- break
- else:
- if guess > number:
- print ('再小点')
- else:
- print ('再大点')
- temp = input ('再猜一个数')
- guess = int (temp)
- i = i - 1
- if i == 3:
- print ('你赢啦!')
- else:
- print ('没机会啦,游戏结束!')
-
复制代码
代码如上,我想实现的是当猜的数字正确时出现“你赢了!”,我想通过 i 来标记这个循环是猜错三次正常结束还是中间猜对了跳出循环,从而实现能打印出不同结果的目的。
但是我遇到的问题是只有在第一次猜对的情况下才会出现“你赢了”,在二三次猜对时和全部猜错时出现的都是“游戏结束”。
实在想不出怎么改这个代码了,求大神指点下QAQ
本帖最后由 第四时空 于 2017-8-14 09:06 编辑
可以试试改成这样
- import random
- number = random.randint(1, 10)
- print('猜数游戏,共有三次机会')
- temp = input('请输入猜的数字:')
- guess = int(temp)
- i = 3
- if guess == number:
- print('你赢啦!')
- else:
- while True:
- if guess == number:
- print('正确')
- # i = 3
- break
- else:
- if guess > number:
- print('再小点')
- else:
- print('再大点')
- i = i - 1
- if i == 0:
- print('没机会啦,游戏结束!')
- break
- temp = input('再猜一个数')
- guess = int(temp)
- # if i == 3:
- # print('你赢啦!')
- # else:
- # print('没机会啦,游戏结束!')
复制代码
|
|