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 ...
随机推荐
- 转:c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...
- [UI] 精美UI界面欣赏[11]
精美UI界面欣赏[11]
- MDT配置数据库
连接数据库可以使用数据库账户和Windows集成身份验证两种方法:使用数据库账户:1.连接数据库时选择TCP/IP2.在数据库中添加相应规则后,配置数据库3.在CustomSettings.ini文件 ...
- Hybris阶段总结(2)hybris架构
年前总结一下这两个星期在SAP实习学到的一些东西 先上图: 从底往上总结,之后会有个小例子来解释一下 1.Persistence layer 就是作为hybris所连接的数据库这一层,其中hybr ...
- EF CodeFirst示例
新建Web空项目,选择MVC相关基础组件 安装EntityFramework 添加模型和上下文对象 添加包含读写的控制器 点击添加报错 这时需要重新生成项目,然后再试尝试添加控制器,OK 为调试方便, ...
- Zepto的SwipeUp 在 android 和微信 的解决方案
Zepto的SwipeUp 在 android 和微信 的解决方案 时间:2016-04-19 22:20:09 作者:zhongxia 问题解决方案: Q:为什么swipeUp和swipeDown在 ...
- 第一次项目冲刺(Alpha版本)2017/11/19
一.当天站立式会议 会议内容 1.对数据库的设计的进一步讨论 2.讨论SSH一些配置细节 3.分配今天的任务 二.任务分解图 三.燃尽图 四.心得 1.零散的时间要利用起来,追上计划的进度. 2.在小 ...
- MySQL知识总结(二)基本语句总结
1. 数据库 查看数据库 show databases; 使用数据库 use [数据库名] 如:use mysql 创建数据库 CREATE DATABASE bruce DEFAULT CHARAC ...
- 解决win7远程桌面连接时发生身份验证错误的方法
远程桌面连接,是我们比较常用的一个功能了,但有时突然不能用了,以下是我遇到该问题,并解决该问题的方法.连接时报的是“发生身份验证错误,要求的函数不受支持”,解决之后细想一下,该问题好像是在我在电脑上安 ...
- MDRT_<>$表
数据库中有好多的MDRT打头的表,而这些表的字段都是一样的,那这些表是做什么用呢? MDRT_<>$: 用来存储与空间索引相关的信息.这些表与常规表不一样,不能做复制,删除,新建等.如果对 ...