Python猜年龄
题目: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操作