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 ...
随机推荐
- MySQL存储引擎之Spider内核深度解析
作者介绍 朱阅岸,中国人民大学博士,现供职于腾讯云数据库团队.研究方向主要为数据库系统理论与实现.新硬件平台下的数据库系统以及TP+AP型混合系统. Spider是为MySQL/MariaDB开发 ...
- 解决python2和python3的pip冲突
最近突然出现了一种情况当电脑上同时安装python2和python3的时候会导致我的pip冲突 . 最终经过我的发现是因为其环境没有配置好 还有就是没有找到精准的包导致的 1.下载python2.7, ...
- 对MBProgressHUD进行二次封装并精简使用
对MBProgressHUD进行二次封装并精简使用 https://github.com/jdg/MBProgressHUD 几个效果图: 以下源码是MBProgressHUD支持最新的iOS8的版本 ...
- 自定义UITabbarController控制器
自定义UITabbarController控制器 这是定制UITabbarController的基本原理,没有进行功能性封装. 效果: 源码地址: https://github.com/YouXi ...
- 使用CoreData [3]
使用CoreData [3] 此篇幅介绍CoreData如何升级版本防止崩溃 把你之前创建的实体文件全部删除掉,把沙盒中的数据库文件删除掉,实体只保持一个,然后重新创建出实体文件. - (BOOL)a ...
- python-面向过程编程
面向过程: 核心是过程.过程指的是解决问题的步骤,设计一条流水线,机械式的思维方式. 优点:复杂的问题流程化,进而简单化
- 心灵鸡汤[all]
1. [iPhone 有哪些非常有必要下载的 App] 2. 相 信 自 己 3. 英语四级作文模板 4. 比尔盖茨的人生忠告 5. 李嘉诚 <Are you ready> 6. 李嘉诚语 ...
- 【转载】 C语言命令行小猪佩奇
// ASCII Peppa Pig by Milo Yip #include <math.h> #include <stdio.h> #include <stdlib. ...
- MDRT_<>$表
数据库中有好多的MDRT打头的表,而这些表的字段都是一样的,那这些表是做什么用呢? MDRT_<>$: 用来存储与空间索引相关的信息.这些表与常规表不一样,不能做复制,删除,新建等.如果对 ...
- C++编译器符号表有哪些内容?
http://blog.csdn.net/wangbingcsu/article/details/48340479 C++编译器符号表有哪些内容? 很早就想写一篇关于符号表的学习小结,可是迟迟不能下笔 ...
