1.猜年龄游戏:

要求:

    允许用户最多尝试3次
每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
如果猜对了,有三次选择奖励的机会,不要奖励可以随时退出,并打印奖品清单给用户看;
count = 0
real_age = 19
goods_list = [
'芭比娃娃',
'变形金刚',
'小猪佩奇',
'蜘蛛侠',
'模型飞机',
'inflatable doll'
]
customer_goods_list = [] while True:
age = input('请猜一下真实年龄(q退出)>>>:').strip().lower()
if age == 'q': break
if not age.isdigit():
print('请输入纯数字!')
continue
age = int(age)
if age == real_age:
print('恭喜你!猜对了!你有3次选择奖励的机会!','\n')
choice_count = 0
while True:
for index, good in enumerate(goods_list, 1):
print(index, good)
choice = input('请选择奖品(或者直接按q退出)>>>:').strip().lower()
if choice == 'q': break
if not choice.isdigit():
print('请输入数字!')
continue
choice = int(choice) - 1
if choice not in range(len(goods_list)):
print('选择的奖品不在范围内,请重新输入!')
continue
else:
choice_count += 1
print(f'你选择的奖品是:{goods_list[choice]},还有{3-choice_count}次机会!')
customer_goods_list.append(goods_list[choice]) if choice_count == 3: break
print(f'你的奖品清单:{customer_goods_list}')
break elif age > real_age:
print('猜大了!')
continue
else:
print('猜小了!')
count += 1
if count == 3:
while True:
again_choice = input('还要再玩三次吗?输y再玩3次,或者输n直接退出>>>:').strip().lower()
if again_choice == 'y':
count = 0
continue
elif again_choice == 'n':
exit()
#quit()
else:
print('输入不正确,请重试!')

2.三级菜单:

  1. 打印省、市、县三级菜单

  2. 可返回上一级

  3. 可随时退出程序

menu = {
'北京': {
'海淀': {
'五道口': {
'soho': {},
'网易': {},
'google': {}
},
'中关村': {
'爱奇艺': {},
'汽车之家': {},
'youku': {},
},
'上地': {
'百度': {},
},
},
'昌平': {
'沙河': {
'老男孩': {},
'北航': {},
},
'天通苑': {},
'回龙观': {},
},
'朝阳': {},
'东城': {},
},
'上海': {
'闵行': {
"人民广场": {
'炸鸡店': {}
}
},
'闸北': {
'火车战': {
'携程': {}
}
},
'浦东': {},
},
'山东': {},
}
layers = [menu, ]
while True:
if len(layers) == 0: break
current_layers = layers[-1]
# print(current_layers,type(current_layers),'=================')
for key in current_layers:
print(key)
choice = input('请选择(b返回上一层,q直接退出)>>>:').strip()
if choice == 'b':
layers.pop(-1)
# print(layers,'+++++++++++++++++')
continue
if choice == 'q': break
if choice not in current_layers:
continue
else:
layers.append(current_layers[choice])
# for i in layers:
# print(i,'@@@@@@@@@@@@@@@@@@@@')
# print(layers,'-------------------------',len(layers))
# print(current_layers[choice],type(current_layers[choice]),'**********************')
3.求1 - 2 + 3 - 4 + 5...99的所有数的和
# 求1 - 2 + 3 - 4 + 5...99的所有数的和

# 方法1
count = 0
get_sum = 0
while True:
if count == 100:
break
get_sum += count * ((-1) ** (count + 1))
count += 1
print(get_sum) # 方法2
count = 0
get_sum = 0
get_sum1 = 0
get_sum2 = 0
while True:
if count == 100:
break
if count % 2 == 0:
get_sum1 -= count
else:
get_sum2 += count
get_sum = get_sum1 + get_sum2
count += 1
print(get_sum)

 

day_06 猜年龄游戏,三级菜单 ,求1 - 2 + 3 - 4 + 5...99的所有数的和(课后作业)的更多相关文章

  1. python猜年龄游戏升级版

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

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

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

  3. day_10猜年龄游戏函数版

    ''' 1. 在猜年龄的基础上编写登录.注册方法,并且把猜年龄游戏分函数处理,如 2. 登录函数 3. 注册函数 4. 猜年龄函数 5. 选择奖品函数 ''' import json real_age ...

  4. day07作业猜年龄游戏

    # 给定年龄,用户可以猜三次年龄 # # 年龄猜对,让用户选择两次奖励 # # 用户选择两次奖励后退出 get_prize_dict = {} # 获取的奖品信息 age = 18 inp_count ...

  5. Python练习-猜年龄的LowB游戏

    Alex大神今天让我做一个猜年龄的游戏: 第一个游戏是你只能猜三次:真的很LowB啊~ # 编辑者:闫龙 #猜年龄游戏,3次后程序自动退出! ages = 29; #for循环3次 for i in ...

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

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

  7. Python3 猜年龄小游戏进阶之函数处理

    在猜年龄的基础上编写登录.注册方法,并且把猜年龄游戏分函数处理 登录函数 注册函数 猜年龄函数 选择奖品函数 # 注册 def register(): '''注册''' count = 0 while ...

  8. day03_11 if语句实现猜年龄01

    老男孩猜年龄游戏 age_of_princal = 56 guess_age = int( input(">>:") ) #以下为伪代码 ''' if guess_ag ...

  9. Python字符串内置方法使用及年龄游戏深入探究

    目录 作业 ==程序代码自上往下运行,建议自上而下的完成下列任务== 作业 使用代码实现以下业务逻辑: 写代码,有如下变量name = " aleX",请按照要求实现每个功能: 移 ...

随机推荐

  1. Python字符和字符值(ASCII或Unicode码值)转换方法

    Python字符和字符值(ASCII或Unicode码值)转换方法 这篇文章主要介绍了Python字符和字符值(ASCII或Unicode码值)转换方法,即把字符串在ASCII值或者Unicode值之 ...

  2. java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

    java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.commons.dbcp2.Ba ...

  3. Prometheus存储模型分析

    Prometheus是时下最为流行的开源监控解决方案,我们可以很轻松地以Prometheus为核心快速构建一套包含监控指标的抓取,存储,查询以及告警的完整监控系统.单个的Prometheus实例就能实 ...

  4. Docker安装报错

    这是由于overlay2不支持造成的,所以我们要关闭它. 解决办法: vim /etc/sysconfig/docker    (修改文件) DNS='--selinux-enabled --log- ...

  5. LeetCode.942-DI字符串匹配(DI String Match)

    这是悦乐书的第361次更新,第388篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第223题(顺位题号是942).给定仅包含I(增加)或D(减少)的字符串S,令N = S ...

  6. 基于LVM(逻辑卷管理)的快照原理

    一.为甚么不管多大的逻辑卷进行备份,快照都会在几秒之内完成? 快照在拍摄的一瞬间,系统会记录那个时间点逻辑卷的状态.数据等,此时拍下的快照相当于一张白纸.如图所示 快照做好后,随着时间的推移,源卷里的 ...

  7. 如何在CBV中使用装饰器

    要区分函数装饰器和方法装饰器得区别 ,方法装饰器得第一个参数是self本身,所以函数装饰器不能用

  8. C语言Ⅰ博客作业03

    一. 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/8718 我在这个课 ...

  9. urllib库:分析Robots协议

    1from urllib.robotparser import RobotFileParser 2import ssl 3from urllib.request import urlopen 4ssl ...

  10. mysql生成全局id(转)

    由于数据量以及IO效率的因素,很多项目对数据支持的数据库会采取分库分表的方式.使用了分库分表之后需要解决的一个问题就是主键的生成.多个表之间的主键就不能用数据库本身的自增主键来支持,因为不同表之间生成 ...