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. Java基础面试题集(二)

    Java程序员面试题集(1-50) 一.Java基础部分 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象 ...

  2. java:异常机制(try,catch,finally,throw,throws,自定义异常)

    * String类中的格式化字符串的方法: * public static String format(String format, Object... args):使用指定的格式字符串和参数返回一个 ...

  3. java:Oracle(table的增删改查,data的增删改查)

    1.oracle命名规范:和Java的命名规范很像 1.严格区分大小写 2.所有的sql语句都要以';'结尾 3.所有的sql 都要使用空格区分:sqlplus空格/空格as空格sysdba回车 4. ...

  4. Cocos2d-X多线程(4) 在子线程中进行网络请求

    新版本的android系统已经不允许在UI线程中进行网络请求了,必须新建一个线程. 代码实操: 头文件: #ifndef __TestThreadHttp_SCENE_H__ #define __Te ...

  5. MySQL之视图学习

    MYSQL---视图 1.概述: ​ 视图是从一个或者多个表中导出的,视图的行为与表非常类似,但视图是一个虚拟表.在视图中用户可以使用SELECT语句查询数据,以及使用INSERT.UPDATE和DE ...

  6. Linux执行命令./command与直接输入命令的区别

    我们知道查看文件属性的命令ls的完整文件路径为:/bin/ls(这是绝对路径,)问什么我可以在任何地方执行,任何目录下输入ls就一定可以显示出一些信息而不会说找不到该/bin/ls命令,这是因为不同的 ...

  7. IDEA 双击只选择了一个变量的某部分单词

    1,很多抄袭文章说  在keymap 里搜索 select Word at caret , 鄙视手动抄袭和编写爬虫来 作恶的开发者. 2,自己试了,File菜单 ---->  settings- ...

  8. [转帖]教你如何修改运行中的docker容器的端口映射

    教你如何修改运行中的docker容器的端口映射   在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当dock ...

  9. CAS导致的ABA问题及解决:时间戳原子引用AtomicReference、AtomicStampedReference

    1.CAS导致ABA问题: CAS算法实现一个重要前提需要取出内存中某时刻的数据并在当下时刻比较并交换,那么在这个时间差中会导致数据的变化. 比如:线程1从内存位置V中取出A,这时线程2也从V中取出A ...

  10. [Codeforces 1245D] Shichikuji and Power Grid (最小生成树)

    [Codeforces 1245D] Shichikuji and Power Grid (最小生成树) 题面 有n个城市,坐标为\((x_i,y_i)\),还有两个系数\(c_i,k_i\).在每个 ...