第二次作业
1.打印九九乘法表
for i in range(1,10):
for k in range(1,10-i):
print(end=" ")#此处为8个字节
for j in range(1,i+1):
print(f"{j}×{i} = {i * j}", end=" ")#此处为8个字节
print(" ")
2.打印金字塔
def pyramid(n):
for i in range(1, n):
print(' ' * (n - (i - 1)) + '*' * (2 * i - 1))
pyramid(10)
3.打印三级菜单
menu = {
'河北省':{
'沧州市':{
'任丘市':{
'石门桥镇':{},
'长丰镇':{}
},
'泊头市':{
'泊镇':{},
'富镇':{}
}
},
'石家庄市':{
'赵县':{
'赵州镇':{},
'韩村镇':{}
},
'正定县':{
'正定镇':{},
'新安镇':{}
}
},
'唐山市':{
'遵化市':{
'遵化镇':{},
'马兰峪镇':{}
},
'迁安市':{
'蔡元镇':{},
'上庄乡':{}
}
}
},
'北京市':{
'朝阳区':{
'三里屯':{
'南楼':{},
'北楼':{}
},
'香河':{
'西坝河':{},
'光熙门':{}
}
},
'东城区':{
'东华门':{
'东厂':{},
'智德':{}
},
'建国门':{
'赵家楼':{},
'大雅宝':{}
}
},
'西城区':{
'新街口':{
'北顺':{},
'中直':{}
},
'金融街':{
'文昌':{},
'手帕':{}
}
}
}
}
current_layer,layers = (menu,[])
while True:
for keys in current_layer:print(keys)
choice = input('>>>:').strip() #删除多余字符
if not choice:continue
if choice in current_layer:
layers.append(current_layer);current_layer = current_layer[choice]
elif choice == 'r': #r代表返回上一级菜单
if len(layers)!= 0:
current_layer = layers.pop()
else:
print('回到上一层')
elif choice == 's': #s代表退出程序
exit('退出程序')
4.购物车程序
products = [
{"name":'iphone',"price":4888},
{"name":'三星',"price":5888},
{"name":'华为',"price":8888},
{"name":'小米',"price":6888},
]
wages = int(input('请输入您的工资:'))
shopping_car =[] #购物车
exit_flag = False #控制While循环
while not exit_flag:
print('*****商品列表*****')
for index,i in enumerate(products):
print(index,i) #打印商品列表
choice = (input('请输入商品编码:'))
if choice.isdigit():
choice = int(choice) #字符串转为数值
if 0 <= choice < len(products):
if wages >= products[choice].get('price'):
wages -= products[choice].get('price')
print('您的余额为:',wages)
shopping_car.append(products[choice])
print('已将您要购买的产品:%s 添加至您的购物车'%(products[choice]))
else:
print('您的余额不足!')
elif choice == 'q':
print('*****您已购买的产品*****')
for index, k in enumerate(shopping_car):
print(index,k)
print('账户余额为:',wages)
exit_flag = True #循环结束
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 后端思维之高并发处理方案
· 千万级大表的优化技巧
· 在 VS Code 中,一键安装 MCP Server!
· 想让你多爱自己一些的开源计时器
· 10年+ .NET Coder 心语 ── 继承的思维:从思维模式到架构设计的深度解析