本节内容

  1. 列表、
  2. 元组操作
  3. 购物车程序
  4. 字符串操作
  5. 字典操作
  6. 3级菜单
  7. 作业(购物车优化)

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的更多相关文章

  1. python,Day2,基础 2

    list和dict list是一种有序的集合,可以随时添加和删除其中的元素. 例如: >>>classmates = ['eason','grace','alice'] >&g ...

  2. Python——Day2(基础知识练习一)

    1.执行Python脚本的两种方式1)调用解释器 Python +绝对路径+文件名称2)调用解释器 Python +相对路径+文件名称 2.简述位.字节的关系8位为1个字节 3.简述ASCII.uni ...

  3. python day2:python 初识(二)

    大纲: 一.运算符 1.算数运算符 notice: 除法运算在python2.7和python3.x 的不同 2.比较运算符 3.赋值运算符 4.逻辑运算符 5.成员运算符 二.基本数据类型和方法介绍 ...

  4. Day2 - Python基础2 列表、字典、集合

    Python之路,Day2 - Python基础2   本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一, ...

  5. 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...

  6. Python之路,Day2 - Python基础(转载Alex)

    Day2-转自金角大王 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存 ...

  7. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  8. [资料分享]Python视频教程(基础篇、进阶篇、项目篇)

    Python是一种开放源代码的脚本编程语言,这种脚本语言特别强调开发速度和代码的清晰程度.它可以用来开发各种程序,从简单的脚本任务到复杂的.面向对象的应用程序都有大显身手的地方.Python还被当作一 ...

  9. 给深度学习入门者的Python快速教程 - 基础篇

    实在搞不定博客园的排版,排版更佳的版本在: https://zhuanlan.zhihu.com/p/24162430 Life is short, you need Python 人生苦短,我用Py ...

随机推荐

  1. C# .Net动态调用webService

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Ne ...

  2. Linux 文件的读写执行权限的说明

    文件的读写执行权限的说明 X 进入目录的权限: cd 1.文件本身是可执行的 2.普通用户还具备r的权限 3.root用户只需要有r的权限即可 r 查看目录/文件的内容 :ls dir 没有读的权 限 ...

  3. Windows:删除图标缓存

    适用于桌面快捷方式图标丢失或图标变成白色的情况,批处理代码如下: rem 关闭explorer.exe taskkill /f /im explorer.exe attrib -h -i %userp ...

  4. 作业一 制作PC配置 吴昊

  5. python字典去重脚本

    #!/usr/bin/env python # encoding: utf-8 #字典去重小代码 import sys import os import platform try: pass exce ...

  6. scala抽象类实战

    实战一: 声明一个抽象类(SuperTeacher):(超级老师) abstract class SuperTeacher(val name : String){ var id : Int var a ...

  7. JS BOM简列

    JS BOM BOM 也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM 缺少规范,每个浏览器提供商又按照自己想法去扩展它,那么浏览器共有对象就成了事实的标准.所以,BOM 本身是没有 ...

  8. 使用C#操作Oracle Spatial的SDO_GEOMETRY对像(读取和写入)

    首先,这个需要使用ODAC,也就是Oracle.DataAccess.dll,新出的托管Oracle.ManagedDataAccess.dll不支持Object Type,无法使用 ODAC下载地址 ...

  9. 什么是HOOK(钩子):消息拦截与处理

    对于Windows系统,它是建立在事件驱动机制上的,说白了就是整个系统都是通过消息传递实现的.hook(钩子)是一种特殊的消息处理机制,它可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息并 ...

  10. Undefined function or method 'deploywhich' for input arguments of type 'char'

    在进行matlab和java混合编程的时候.由matlab打包,把m文件转换为jar文件.供java调用.有时在Tomcat中调用此类jar类会出现如题或者以下的错误: ??? Error using ...