题目:Python实现猜年龄

步骤一:实现最简单的猜年龄

# 事先定义
dark_knight_age = 28
user_age = input('Please guess my age:')
user_age = int(user_age) # 将用户输入的内容强转为整型
# 因为input接收的值都是字符串,
# 字符串不能与整型进行比较,所以要强转为整型 # 判断
if user_age == dark_knight_age: # 当用户输入的年龄与事先定义的年龄相等时。
print('You got it!')
elif user_age > dark_knight_age:# 当用户输入的年龄比事先定义的年龄要大时。
print('Try smaller')
else:
print('Try bigger') # 当用户输入的年龄比事先定义的年龄要小时。

步骤二:实现循环猜年龄

# 事先定义
dark_knight_age = 28
while True:
user_age = input('Please guess my age:')
user_age = int(user_age) # 将用户输入的内容强转为整型
# 因为input接收的值都是字符串,
# 字符串不能与整型进行比较,所以要强转为整型 # 判断
if user_age == dark_knight_age: # 当用户输入的年龄与事先定义的年龄相等时。
print('You got it!')
break
elif user_age > dark_knight_age:# 当用户输入的年龄比事先定义的年龄要大时。
print('Try smaller')
else:
print('Try bigger') # 当用户输入的年龄比事先定义的年龄要小时。

步骤三:解决程序中出现的BUG

1、去除用户输入的字符串左右两边的空格

2、解决用户输入的值为空

3、解决用户输入的值为其它字符串

# 事先定义
dark_knight_age = 28
while True:
user_age = input('Please guess my age:').strip() # 去除字符串两边的空格 # 当用户输入的内容为数字字符串时
if user_age.isdigit():
user_age = int(user_age) # 将用户输入的数字字符串转换为整型后再进行以下判断 # 判断
if user_age == dark_knight_age: # 当用户输入的年龄与事先定义的年龄相等时,退出循环。
print('You got it!')
break
elif user_age > dark_knight_age:# 当用户输入的年龄比事先定义的年龄要大时。
print('Try smaller')
else:
print('Try bigger') # 当用户输入的年龄比事先定义的年龄要小时。 # 当用户输入的内容为其它内容或None时,让其重新输入。
else:
print('Please try again!')

  

步骤四:扩展猜年龄

1、当用户猜年龄的猜错次数超过3次时退出程序。

2、每猜错一次便告之用户还有几次机会。

3、当用户输入为空时,不限次数让用户继续输入。

# 事先定义
count = 1
dark_knight_age = 28
while True:
if count == 4: # 用户在猜错情况下的次数超过了3次退出循环。
print('Too many times')
break user_age = input('Please guess my age:').strip() # 去除字符串两边的空格 # 当用户输入的值不为空时。
if user_age:
if user_age.isdigit(): # 当用户输入的内容为数字字符串时
user_age = int(user_age) # 将用户输入的数字字符串转换为整型后再进行以下判断 # 判断
if user_age == dark_knight_age: # 当用户输入的年龄与事先定义的年龄相等时,退出循环。
print('You got it!')
break
else:
if user_age > dark_knight_age:# 当用户输入的年龄比事先定义的年龄要大时。
print('Try smaller') elif user_age < dark_knight_age:
print('Try bigger') # 当用户输入的年龄比事先定义的年龄要小时。 print('You have %s chance' % (3 - count)) # 告诉还有几次机会。 # 当用户输入的内容为其它内容或None时,让其重新输入。
else:
print('Please try again!')
print('You have %s chance' % (3 - count)) # 告诉还有几次机会。 # 当用户输入的值为空时
else:
print('You enter blank, please re-enter!')
continue # 此时跳出本次循环,继续执行以下循环 count += 1 # 每次循环都次数都进行加1操作

  

  

Python猜年龄的更多相关文章

  1. python猜年龄游戏升级版

    猜年龄游戏升级版 要求:允许用户最多尝试3次,每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y,就继续让其猜3次,以此往复,如果回答N,就退出程序,如何猜对了,就直接退出 age = 1 ...

  2. 【Python】Python 猜年龄的游戏

    游戏规则: 允许用户最多尝试3次 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序 如何猜对了,就直接退出 age= cou ...

  3. 我的python中级班学习之路(全程笔记第一模块) (第一章)(第2部分:如何设置python中的字体颜色,猜年龄练习题解答,while else语句,pycharm的使用)

    第一章:  python 基础语法 第  2  部分: 一.猜年龄练习题解答 直接上代码 >>> age = 26 >>> count = 0 >>&g ...

  4. python 小程序,猜年龄

    要求如下:

  5. python基础代码(猜年龄、从最内层跳出多层循环、简单的购物车程序)

    1.猜年龄 , 可以让用户最多猜三次! age = 55 i=0 while i<3: user_guess = int (input ("input your guess:" ...

  6. 用python写了一个猜年龄小游戏

    写一个猜年龄游戏: 需要实现用户登录的功能 初始用户登录信息为 {'hades': '13579','nick': '123','ruixing': 'a1','fanping': 'b2'} 登录时 ...

  7. python基础练习-猜年龄、编写登陆接口小程序

    python基础练习:   一.猜年龄 , 可以让用户最多猜三次! age=40 count = 1 while count <=3 : user_guess=int(input("i ...

  8. python基础实战之猜年龄游戏

    目录 一.Python基础实战之猜年龄游戏 给定年龄,用户可以猜三次年龄 年龄猜对,让用户选择两次奖励 用户选择两次奖励后可以退出 age = 18 # 答案 count = 0 # 游戏次数控制 p ...

  9. 初识python: while循环 猜年龄小游戏

    知识点: 1.python注释方法: 单行注释: # 多行注释: '''注释内容 '''  (单引号或双引号都可以),亦可打印多行 例: #此处是单行注释信息 print('这里是打印内容') #这里 ...

随机推荐

  1. Number String(HDU 4055,动态规划递推,前缀和优化)

    点击加号查看代码 #include<bits/stdc++.h>//前缀和优化版本,不易理解 using namespace std; #define ll long long ; ; l ...

  2. 洛谷——P1972 [SDOI2009]HH的项链(线段树)

    P1972 [SDOI2009]HH的项链 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH 不断地收集新的 ...

  3. UVA - 1618 Weak Key(RMQ算法)

    题目: 给出k个互不相同的证书组成的序列Ni,判断是否存在4个证书Np.Nq.Nr.Ns(1≤p<q<r<s≤k)使得Nq>Ns>Np>Nr或者Nq<Ns&l ...

  4. Moving Tables POJ - 1083 (思维)

    题目大意 在一层楼上推桌子,每个空间一次只能推1种桌子,且消耗十分钟.可以同时推多个桌子,但是他们所占的空间不能是相交的如图 解法 真的很考验思维能力,首先考虑到这个走廊是有两排的,我瞬间想到了宿舍楼 ...

  5. Cyclic Nacklace HDU - 3746 (kmp next数组应用)

    题目大意 给出字符串,寻找最小要补全的字符个数,使得字符串是两次的循环 解法 通过寻找规律,我们又发现了len-next[len]又派上了用场 ①如果next[len]是0,说明最大前缀后缀和为0,那 ...

  6. 面试:B

    协程 材质和贴图 任意模块的深入理解

  7. 微信小程序官方指南手册,教你如何使用微信小程序!

    2017年1月9日,小程序如约而至.程序员们都讨论的热火朝天,但是真正使用过微信小程序的又有几个呢?下面今天我们给大家介绍下微信小程序到底应该如何使用? 首先,你的微信必须是最新版本的,微信官方是从要 ...

  8. rsync+sersync自动同步备份数据

    一.为什么要用Rsync+sersync架构?1.sersync是基于Inotify开发的,类似于Inotify-tools的工具2.sersync可以记录下被监听目录中发生变化的(包括增加.删除.修 ...

  9. Ubuntu挂载硬盘,修改卷标

    Ubuntu挂载硬盘,修改卷标转载2016-03-06 17:03:21标签:ubuntu Ubuntu不像windows,硬盘插入电脑不会自动读取硬盘 数据,需要把硬盘挂载到文件夹上,然后才能访问硬 ...

  10. Linux下汇编语言学习笔记73 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...