Python day2 ---python基础2
本节内容
- 列表、
- 元组操作
- 购物车程序
- 字符串操作
- 字典操作
- 3级菜单
- 作业(购物车优化)
1. 列表操作
1.定义列表
names = ['Alex',"Tenglan",'Eric']
2.追加
3.插入
4.修改
5.打印元素
6.切片
7.索引(获取下标) 和统计
8.删除 和 清除
9.翻转和排序
10.扩展
11.Copy
12.浅copy ,深copy
13.循环,打印列表
14.步长切片
2.元组操作
元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表 它只有2个方法,一个是count,一个是index,完毕。
3.购物车程序
请闭眼写出以下程序。
程序:购物车程序
需求:
1. 启动程序后,让用户输入工资,然后打印商品列表
2. 允许用户根据商品编号购买商品
3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额


# coding=utf-
# Author:L product_list = [
("Iphone",),
("Mac pro",),
("Bike",),
("watch",),
("Coffee",),
("Alex Python",)
]
shopping_list = []
salary = input("Input your salary: ")
if salary.isdigit():
salary = int(salary)
while True:
for index,item in enumerate(product_list):
#print(product_list.index(item),item)
print(index,item)
user_choic = input("选择要买的?》》》:")
if user_choic.isdigit():
user_choic = int(user_choic)
if user_choic < len(product_list) and user_choic >= :
p_item = product_list[user_choic]
if p_item[] <= salary: #买的起
shopping_list.append(p_item)
salary -= p_item[]
print("Added %s into your shopping cart,your current balance is \033[31;1m%s\033[0m" %(p_item,salary) )
else:
print("\033[32;1m你的余额不足,只有[%s]\033[0m"%(salary))
else:
print("product code [%s] is not exist",user_choic)
elif user_choic == "q":
print("--------shopping list-------")
for p in shopping_list:
print(p)
print("----------------------------")
print("Your current balance:",salary)
exit() else:
print("invalid option")
else:
print("please enter number,try again...")
go_shopping

知识小点:
1.取商品下标 enumerate (product_list)
2.判断是不是数字
3.列表长度len
4.高亮显示
5.退出
4.字符串操作
特性:不可修改

5.字典操作
字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。
字典的特性:
- dict是无序的
- key必须是唯一的,so 天生去重
1.语法:
info = {
'stu1101': "TengLan Wu",
'stu1102': "LongZe Luola",
'stu1103': "XiaoZe Maliya",
}

2.查找
3.改,增
4.删除
5.多级字典嵌套及操作
修改
6.Key value item
7.update
8.初始化字典
#通过一个列表生成默认dict,
9.循环
6. 3级菜单

# coding=utf-
# Author:L data = {
"北京":{
"朝阳区":{},
"天安区":{},
"玄武区":{},
},
"西安":{
"雁塔区":{
"电子正街":["鸿星尔克","特步"],
"高新区":["百度","腾讯"],
"科技路":["西部","欧朋"],
},
"碑林区":{
"太白路":["西安理工","西安交大"],
"金华路":["火腿","飞信"],
"南二环":["后卫寨","鱼化寨"]
},
"长安区":{
"":["aa","agag"],
"":["afdas","ag"],
"":["afd","ag"]
},
},
"上海":{
"虹桥区":{},
"陆家嘴区":{},
"海港区":{},
},
} while True:
for i in data:
print(i)
choice = input("选择进入1>>:") if choice in data:
while True:
for i2 in data[choice]:
print("\t",i2)
choice2 = input("选择进入2>>:") if choice2 in data[choice]:
while True:
for i3 in data[choice][choice2]:
print("\t\t",i3)
choice3 = input("选择进入3>>:") if choice3 in data[choice][choice2]:
for i4 in data[choice][choice2][choice3]:
print("\t\t\t",i4) choice4 = input("this is laster:按b返回>>:")
if choice4 == "b":
pass #什么也不做,占位符,防止出错
if choice3 == "b":
break
if choice2 == "b":
break
完整程序1.0
# coding=utf-
# Author:L data = {
"北京":{
"朝阳区":{},
"天安区":{},
"玄武区":{},
},
"西安":{
"雁塔区":{
"电子正街":["鸿星尔克","特步"],
"高新区":["百度","腾讯"],
"科技路":["西部","欧朋"],
},
"碑林区":{
"太白路":["西安理工","西安交大"],
"金华路":["火腿","飞信"],
"南二环":["后卫寨","鱼化寨"]
},
"长安区":{
"":["aa","agag"],
"":["afdas","ag"],
"":["afd","ag"]
},
},
"上海":{
"虹桥区":{},
"陆家嘴区":{},
"海港区":{},
},
} exit_flag = False
while not exit_flag:
for i in data:
print(i)
choice = input("选择进入1>>:")
if choice in data:
while not exit_flag:
for i2 in data[choice]:
print("\t",i2)
choice2 = input("选择进入2>>:")
if choice2 in data[choice]:
while not exit_flag:
for i3 in data[choice][choice2]:
print("\t\t",i3)
choice3 = input("选择进入3>>:")
if choice3 in data[choice][choice2]:
for i4 in data[choice][choice2][choice3]:
print("\t\t\t",i4)
choice4 = input("this is laster:按b返回>>:")
if choice4 == "b":
pass #什么也不做,占位符,防止出错
elif choice4 == "q":
exit_flag = True
if choice3 == "b":
break
elif choice3 == "q":
exit_flag = True
if choice2 == "b":
break
elif choice2 == "q":
exit_flag = True
elif choice == "q":
exit_flag = True
完整程序2.0


7. 作业(购物车优化)
Python day2 ---python基础2的更多相关文章
- python,Day2,基础 2
list和dict list是一种有序的集合,可以随时添加和删除其中的元素. 例如: >>>classmates = ['eason','grace','alice'] >&g ...
- Python——Day2(基础知识练习一)
1.执行Python脚本的两种方式1)调用解释器 Python +绝对路径+文件名称2)调用解释器 Python +相对路径+文件名称 2.简述位.字节的关系8位为1个字节 3.简述ASCII.uni ...
- python day2:python 初识(二)
大纲: 一.运算符 1.算数运算符 notice: 除法运算在python2.7和python3.x 的不同 2.比较运算符 3.赋值运算符 4.逻辑运算符 5.成员运算符 二.基本数据类型和方法介绍 ...
- Day2 - Python基础2 列表、字典、集合
Python之路,Day2 - Python基础2 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一, ...
- 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作
声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...
- Python之路,Day2 - Python基础(转载Alex)
Day2-转自金角大王 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存 ...
- Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程
[保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...
- [资料分享]Python视频教程(基础篇、进阶篇、项目篇)
Python是一种开放源代码的脚本编程语言,这种脚本语言特别强调开发速度和代码的清晰程度.它可以用来开发各种程序,从简单的脚本任务到复杂的.面向对象的应用程序都有大显身手的地方.Python还被当作一 ...
- 给深度学习入门者的Python快速教程 - 基础篇
实在搞不定博客园的排版,排版更佳的版本在: https://zhuanlan.zhihu.com/p/24162430 Life is short, you need Python 人生苦短,我用Py ...
随机推荐
- 关于Oracle中sys、system和Scott用户下的数据库连接问题
system默认:manager sys默认:change_on_install 使用SQL Plus登录数据库时,system使用密码manager可直接登录. 由于为自己的密码时更改过的,所以我的 ...
- sql server 查询ntext字段长度
DATALENGTH 返回任何表达式所占用的字节数. 语法 DATALENGTH ( expression ) 参数 expression 任何类型的表达式. 返回类型 int 注释 DATALENG ...
- SQL SERVER Management Studio编写SQL时没有智能提示的解决方式
1. 检查设置里是否启用智能感知(Intellisence),可以在“工具”→“选项”里设置 2. 如果启用后还是无效,可以新建一个查询窗口查询,输入关键词的前面几个字母看是否有提示(或者使用Ctrl ...
- Git提交代码自动触发JenKins构建项目
1.需求场景 用户提交代码后自动触发jenkins构建项目 流程图如下: 2.JenKins安装Gitlab Hook Plugin插件 3.JenKins配置 4.Gitlab Hook Plugi ...
- Fiddler下Firefox提示“您的连接并不安全”的解决办法
一.版本信息 Firefox 最新版本V46.0.1 Fiddler 最新版本V4.6.2.3 二.错误信息 开启fiddlers的https协议捕获的方法,百度上可以查到不再赘述,直接放张图(Too ...
- 魅力python------if - else 语句
引入:if-else的作用,满足一个条件做什么,否则做什么. if-else语句语法结构 if 判断条件: 要执行的代码 else: 要执行的代码 判断条件:一般为关系表达式或bool类型的值 执行过 ...
- 为什么php+apache本地站点访问超级慢
/etc/hosts中必然有一行为127.0.0.1,作用是什么呢? 特点: (1)127.0.0.1不光是unix系统,linux也好,windows也好,都会有这个循回地址的.(2)在IP地址的规 ...
- 第二次项目冲刺(Beta版本) 合集
小组成员 [组长]金盛昌(201421122043).刘文钊(20142112255).陈笑林(201421122042) 张俊逸(201421122044).陈志建(201421122040).陈金 ...
- Crond定时任务
crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond ...
- 新手学Linux:在VMware14中安装CentOS7详细教程
VMware Workstation14安装CentOS7.0 详情教程 1.准备工作 a)下载VMware workstation14 b)下载CentOS7 c)下载SSH Secure Shel ...