day06 作业
猜年龄游戏
'''
1. 给定年龄,用户可以猜三次年龄
2. 年龄猜对,让用户选择两次奖励
3. 用户选择两次奖励后可以退出
'''
import random
age = random.randint(18, 40) # 随机数字,范围18-40
count = 0
reward_dict = {
'0': '奥特曼',
'1': '钢铁侠',
'2': '《笨方法学python》',
'3': '泰国一日游',
'4': 'iphoneX',
'5': '娃娃',
'6': '阿拉丁',
'7': '特斯拉',
'8': '谢谢惠顾'
}
reward_cart = {} # 用户获得奖品放在这里
while count < 3:
count += 1
age_inp = input('请输入你的年龄:').strip()
if not age_inp.isdigit(): # 判断是否是数字
print('非法输入字符,请重新输入')
age_inp = int(age_inp)
# 删选年龄范围
if age_inp > 40 or age_inp < 18:
print('超出范围,请重新输入')
# 核心逻辑
if age_inp == age:
print('猜对了')
# 打印奖品
for i, j in reward_dict.items():
print(f'奖品编号:{i} {j}')
# 用户抽奖两次
for k in range(2):
reward_choice = input('请输入你想要的奖品').strip()
if reward_choice not in reward_dict: # 删选范围
print('没这么多奖品')
else:
reward_get = reward_dict[reward_choice]
print(f'恭喜获得奖品:{reward_get}')
if reward_get not in reward_cart:
reward_cart[reward_get] = 1
else:
reward_cart[reward_get] += 1
print(f'恭喜你获得以下奖品:{reward_cart}')
break
elif age_inp < age:
print('猜小了')
else:
print('猜大了')
continue
三级菜单
menu = {
'北京': {
'海淀': {
'五道口': {
'soho': {},
'网易': {},
'google': {}
},
'中关村': {
'爱奇艺': {},
'汽车之家': {},
'youku': {},
},
'上地': {
'百度': {},
},
},
'昌平': {
'沙河': {
'老男孩': {},
'北航': {},
},
'天通苑': {},
'回龙观': {},
},
'朝阳': {},
'东城': {},
},
'上海': {
'闵行': {
"人民广场": {
'炸鸡店': {}
}
},
'闸北': {
'火车战': {
'携程': {}
}
},
'浦东': {},
},
'山东': {},
}
# 直接来,一层层进入
tag = True
while tag:
menu1 = menu
for key in menu1:
print(key)
choice1 = input('第一层>>').strip()
if choice1 == 'b':
break
if choice1 == 'q':
tag = False
continue
if choice1 not in menu1:
continue
while tag:
menu2 = menu1[choice1]
for key in menu2:
print(key)
choice2 = input('第二层>>').strip()
if choice2 == 'b':
break
if choice2 == 'q':
tag = False
continue
if choice2 not in menu2:
continue
while tag:
menu3 = menu2[choice2]
for key in menu3:
print(key)
choice3 = input('第三层>>').strip()
if choice3 == 'b':
break
if choice3 == 'q':
tag = False
continue
if choice3 not in menu3:
continue
while tag:
menu4 = menu3[choice3]
for key in menu4:
print(key)
choice4 = input('第四层>>').strip()
if choice4 == 'b':
break
if choice4 == 'q':
tag = False
continue
if choice4 not in menu4:
continue
# 偷懒方法
menu1 = [menu]
while True:
if len(menu1) == 0:
break
current_menu = menu1[-1]
for key in current_menu:
print(key)
choice = input('请输入>>').strip()
if choice == 'q':
break
if choice == 'b':
menu1.pop(-1)
continue
menu1.append(current_menu[choice])
day06 作业的更多相关文章
- python day06 作业答案
1. count=1 while count<11: fen=input('请第{}个评委打分' .format( count)) if int(fen) >5 and int(fen) ...
- day06作业---字典循环
'''1.1使⽤循环打印以下效果: ***************''' for a in range(1,6): print(a*'*') '''1.2: ***** **** *** ** * ' ...
- day06作业
一.方法 1.方法是完成特定功能的代码块. 修饰符 返回值类型 方法类型(参数类型 参数名1,参数类型 参数名2,...){ 方法体语句: return返回值: } 修饰符:目前就用publi ...
- python 作业
Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...
- DSB
Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...
- 老男孩Python全栈第2期+课件笔记【高清完整92天整套视频教程】
点击了解更多Python课程>>> 老男孩Python全栈第2期+课件笔记[高清完整92天整套视频教程] 课程目录 ├─day01-python 全栈开发-基础篇 │ 01 pyth ...
- day05对象和类
day06作业: 第一题:分析以下需求,并用代码实现 手机类Phone 属性: 品牌brand 价格price 行为: 打电话call() 发短信sendMessage() 玩游戏playGame() ...
- day06 再谈编码 and 作业讲解
1. 小数据池,(其他语言又叫常量池) id() 查看变量的内存地址 is和== is 判断内存地址是否一致 == 判断内容是否一致 小数据池的作用: 为了快速的创建字符串对象, 可以减少内存的浪费 ...
- python开发学习-day06(模块拾忆、面向对象)
s12-20160130-day06 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
随机推荐
- PHP 自动加载
回顾 开始的时候, 如果想在一个php文件中使用其它文件的类或方法, 需要通过include/require方法将文件包含进来. 这种方法的缺点也很明显: 如果需要引入很多文件, 就需要很多的incl ...
- 2.Python爬虫入门_requests
#2019-11-23 #requests的api使用非常简单 import requests import time if __name__=='__main__': # get请求 url_get ...
- Linux学习(五)远程登录
Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这时我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ssh服务实现的远程登录功 ...
- read_sql_query, def read_sql_table
read_sql_query, read_sql_table def read_sql_query(sql, con, index_col=None, coerce_float=True, param ...
- CME Futures & Options Order Book
http://algo-logic.com/futures-options-orderbook Algo-Logic Systems’ Futures & Options (F&O) ...
- LeetCode 268. Missing Number缺失数字 (C++/Java)
题目: Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is mi ...
- CF812C Sagheer and Nubian Market
CF812C Sagheer and Nubian Market 洛谷评测传送门 题目描述 On his trip to Luxor and Aswan, Sagheer went to a Nubi ...
- EM-高斯混合模型
EM-高斯混合模型 认识 前面为了直观认识 EM 算法, 用的"扔硬币"的案例, 是为了简化和直观, 而稍微偏应用和深入一点是高斯模型分类,这样一个话题. 就好比我们现在有一堆的数 ...
- Physically Based Shader Development for Unity 2017 Develop Custom Lighting Systems (Claudia Doppioslash 著)
http://www.doppioslash.com/ https://github.com/Apress/physically-based-shader-dev-for-unity-2017 Par ...
- 小白专场-树的同构-python语言实现
目录 一.题意理解 二.求解思路 更新.更全的<数据结构与算法>的更新网站,更有python.go.人工智能教学等着你:<https://www.cnblogs.com/nickch ...