|
发表于 2020-5-4 17:18:07
|
显示全部楼层
本楼为最佳答案
本帖最后由 Hoiste 于 2020-5-4 17:27 编辑
你需要另一个变量来存储上一次的输入才能进行所需要的对比,代码我稍微改了,加了点注释,应该没有超纲的。
- c = 3
- j = '' # 用于存储上一次的输入值,为防止每一次都被初始化为空,放在循环外面
- while c > 0:
- i = input('请输入一个0到10的数字:')
- a = int(i)
- if a == 8:
- print('猜的真准')
- break
-
- else:
- c -= 1
- if a < 8:
- print('小了,',end = '')
- if j:#第一次输入的时候j是空字符,所以j会判定为False,完成第一次输入后j拥有了上一次的输入值,则开始按要求判断
- if a < j and j < 8: # 为什么要加and后面的语句?试试看删掉and j < 8和下面and j > 8后分别输入11,12,5的情况就动了。
- print('都已经说小了呀,你是因为手误输错的吗?那再给你一次机会吧!')
- c += 1
-
- if a > 8:
- print('大了,',end = '')
- if j:
- if a > j and j > 8:
- print('都已经说大了呀,你是因为手误输错的吗?那再给你一次机会吧!')
- c += 1
- if c == 0:
- print('机会用完了')
- break
-
- print('你还有',c,'次机会')
- j = a
- print('游戏结束')
复制代码 |
|