python3 购物车
今天干了啥?喂了喂龟,看了看鱼。。。
然后就是学习了两个模块:sys模块和os模块,突然觉得python真的好,只要英语学的好,看代码超级舒服的说,嗯,我要好好学英语,今天背了几个啥,唉。写完博客再背几个。
sys.path是用来显示环境变量的,环境变量是啥,有问题找百度,唉,懒得查。。。没救了。 反正用了sys.path可以打印出好多路径,貌似很多模块啥的都放在那。
sys.argv是用来打印本python文件的相对路径的吧。。。不知道怎么用。什么运行程序时在文件名后面用空格隔开,打上1 2 3,在程序里print(sys.argv[2]) 还可以把2给输出出来,不知道有啥用。。。
os.system("dir")会把目录输出到屏幕上,但是没有结果的,也就是不能把它存起来。想要存起来,就用os.popen("dir").read(),为啥要加read(),是因为前面那部分相当于只搞出了地址,得用read()把内容读出来。 os.mkdir("newdi")新建一个目录。
有个小知识点,浮点数和小数是不一样的,查查百度,嗯,好吧,查了也还是不懂,反正两者又区别。。。
然后就是有个三元运算,额a,b,c= 1,3,5 d=a if a>b else c 结果咧d= 5 。。。。。。不知道干啥用的,留个印象先。
哦。。。 应该是这样,result = 值1 if 条件 else 值2 满足条件就赋值1,不然就赋值2.
学个英文单词:encode,编码 decode,解码 用于string和bytes类型之间的转换 字符串和二进制之间的转换 encode(‘utf-8’)
学习列表:切片时中括号[a:b],冒号隔开。切片的时候,左开又闭不写就是默认开头结尾,可以正着数,也可以倒着来,比如-1就是最后一个。
list.append("object"),在列表末尾加一个
list.insert(index,"object") 在索引处差入某值,只能一个一个的插。
list.index("object") 某个值的索引,就是下标。
list.reverse() 反转,就是把列表倒过来排。
list.count("object") 计数,看有多少个这样的值。
list.sort() 排序,从小到大按ASCII码来,特殊符号,先数字,在大写字母,再小写字母。
list.[index] = "object" 替换。
list.remove("object") ,del list[index], list.pop[index] 三种删除方式。
list.clear() 清空列表。
list.extend(list_2) 合并列表。
list.copy() 是浅复制,就是说只能复制第一层,如果列表元素里有嵌套的话,那个改任何一个,复制的那个会一起变,因为嵌套的话,复制的是指针,要注意。
import copy 然后list_2 = copy.deepcopy(list) 是深复制,那两者之间就不会相互影响了。
在输入字符串时,要有一个判断: if str.isdigit() : 这是用来判断输入的字符串是不是数字的字符串 这样判断以后再把它强制转换成int 不然没啥意义。
还有一个 for index, item in enumerate(list) 用来便利列表的下标和值
元组,tuple 是一种一旦创建以后就不能修改的只读列表。
print打印时的一个骚操作: 高亮显示: \033[31;1m%s\033[0m 31红色可换别的 %也可以换,其他为固定格式,想骚那就死背下来。。。
不早了记英文单词吧唉。。。字符串用法
capitalize 首字母大写 , center 放中间 , ljust 放左边, rjust 放右边, endwith 判断是否以啥啥啥结尾, find 查找,返回索引,
isalnum 是不是字母和数字 isalpha 是不是纯数字 isidentifier 是不是合法标识符 islower isupper 是不是大小写 isspace 是不是空格。。。
istitle 是不是每个单词首字母大写 lower upper 全变小写,大写 replace("object", num) 替换j几个 split(“+”) 用+或别的把字符串分成列表
swapcase 大变小写,小变大写 lstrip strip rstrip 取左边,两边,右边空格回车
重点:str= “+”.join(["1","2","3"]) 打印为 1+2+3
加密操作: p = str.maketrans("abcdefg", "1234567")
print("object".translate(p)) 自己搞个秘文上去 哈哈哈哈
字典 dic.get("key") 取值,若没有,输出none
if object in dic 判断是否有object (key)
dic.keys() 打印所有的key
dic.setdefault("key": "value") 先找,若没有就加进去
dic.update(dic_2) key有交叉就覆盖,无则加
dic.items() 把字典变成列表
方法: for i in dic:
print(i,dic[i]) 省内存!
最后贴个作业 不多说 睡觉碎觉
一:
#!usr/bin/env/ python
# -*- coding:utf-8 -*-
# Author:XiaoFeng dic = {"中国": {"湖北省": {"武汉市": ["武昌区", "洪山区"], "黄石市": "阳新县"},
"四川省": {"成都市": "某某村"}},
"美国": {"加州": {"某县": "某小镇"}}} while True:
for i in dic:
print(i)
choice1 = input("请输入想去哪1:")
if choice1 in dic:
for i1 in dic[choice1]:
print("\t", i1)
while True:
choice2 = input("请输入想去哪2:")
if choice2 in dic[choice1]:
for i3 in dic[choice1][choice2]:
print("\t\t", i3)
while True:
choice3 = input("请输入想去哪3:")
if choice3 in dic[choice1][choice2]:
for i4 in dic[choice1][choice2][choice3]:
print("\t\t\t", i4)
exit()
elif choice3 == "b":
break
else:
print("无此地点,请重新输入!")
continue
elif choice2 == "b":
break
else:
print("无此地点,请重新输入!")
continue
else:
print("无此地点,请重新输入!")
continue
二: 很抠脚 本来想存文件里的,还不会把字典存文件,唉。
#!usr/bin/env/ python
# -*- coding:utf-8 -*-
# Author:XiaoFeng shopping_car = []
list = [("Iphone", 8500),
("Mac Pro", 11200),
("Starebuck Latte", 31),
("Alex python", 81),
("Bike", 800)] cmd = input("是否想要修改产品信息:")
if cmd == "y":
Name = input("商品名:")
Price = input("价格:")
list.append((Name, Price)) file = open("balance", "r")
money = file.read()
file.close()
if money.isdigit():
money = int(money) if not money:
while True:
money = input("请输入您的余额:")
if money.isdigit():
file = open("balance", "a")
file.write(money)
file.close()
money = int(money)
break
else:
print("输入错误,请输入数字!") while True:
for index, item in enumerate(list):
print(index, item) user_choice = input("请输入您想要的选择:")
if user_choice.isdigit():
num = int(user_choice)
if num >= 0 and num < len(list):
if list[num][1] <= money:
money = money - list[num][1]
file = open("balance", "w")
file.write(str(money))
file.close()
shopping_car.append(list[num])
file = open("record", "a")
file.write(str(list[num]))
file.close()
print("成功添加商品:\033[41;1m%s\033[0m,您的余额为:\033[32;1m[%d]\033[0m" % (list[num][0],money))
else:
print("抱歉,您的余额为:\033[31;1m%s\033[0m,买不起哈哈哈!" % money)
else:
print("无此商品,请重新输入!")
continue
elif user_choice == "q":
print("--------shopping list--------")
for i in shopping_car:
print(i)
print("您的余额为:%d" % money)
exit()
else:
print("错误输入,请重新输入!")
continue
python3 购物车的更多相关文章
- python3 购物车小程序,余额写入文件保存
python3 购物车小程序,余额写入文件保存 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan goods = ( ...
- python3购物车
python3实现购物车小程序,优化后将程序分成函数,用文件注册和验证用户名密码. #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 20 ...
- python3 购物车 增改查终极版~
还是先来条NLP再说,快没了,以后想抄还没有... 十一,没有挫败,只有回应讯息 “挫败”只是指出过去的做法得不到预期的效果,是给我们需要改变的信号. “挫败”只是在事情画上句号时才能用上,欲想事情解 ...
- python3 购物车练习
# 购物车# 功能要求:# 要求用户输入总资产,例如:2000# 显示商品列表,让用户根据序号选择商品,加入购物车# 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功.# 可充值.某商品 ...
- Python3 list与循环练习(购物车)
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Author;Tsukasa product_list = [ ('Iphone',5800), (' ...
- Python3.5 Day2作业:购物车程序
需求: 1. 启动程序后,用户通过账号密码登录,然后打印商品列表. 2. 允许用户根据商品编号购买商品. 3. 用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒充值. 4. 可随时退出,退出 ...
- python3 练习题(用函数完成登录注册以及购物车的功能)
''' 用函数完成登录注册以及购物车的功能 作业需求: 1,启动程序,用户可选择四个选项:登录,注册,购物,退出. 2,用户注册,用户名不能重复,注册成功之后,用户名密码记录到文件中. 3,用户登录, ...
- python3 练习题(购物车)
'''购物车程序需求:1.启动程序后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检查余额是否够,够就直接扣款,不够就提醒4.用户可一直购买商品,也可随时退出, ...
- Python3学习之路~2.2 简单的购物车程序
程序:购物车程序 需求:启动程序后,让用户输入工资,然后打印商品列表允许用户根据商品编号购买商品用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 代码 ...
随机推荐
- 设置ActiveMQ的访问密码
1.设置ActiveMQ的访问密码,以提高ActiveMQ的安全性 2.在ActiveMQ的conf目录的activemq.xml中添加账号密码 2.1 添加的代码如下 <!-- 添加访问Ac ...
- linux模块驱动之led(ioremap)
一:led内核驱动 (1)在编写led内核驱动时,我们首先要进行内核裁剪,因为友善之臂将LED灯的驱动默认加载到内核中,所以编写模块驱动程序前就要先把原先的LED灯驱动裁剪掉: led驱动在源码里面的 ...
- Windows下安装配置go
基于 go 1.9.2 + liteIDE + windows10 先安装 go 安装包,作用如同安装框架. 默认安装路径是 C:\Go,通常都会更改,但这会影响到后面设置环境变量,因此更改到哪里请记 ...
- Java JFrame图形界面 ----一个简单的窗口
#开始 申请博客已经有一段时间了 但是一直没有时间写博文(其实还是懒虫侵蚀了大脑) 最近正在学习JFrame做窗口 遇到了很多的问题 为了解决问题也谋杀了很多的脑细胞 为了让更多的朋友不死的很多脑细胞 ...
- 解决vi上下左右变ABCD问题
第一步执行sudo apt-get install vim,如果没有出现错误,再次进入vi 尝试一下,看看有没有修改过来,如果出现以下错误E: Package 'vim' has no insta ...
- React从入门到放弃之前奏(4):Redux中间件
redux 提供了类似后端 Express 的中间件概念. 最适合扩展的是redux中的 store.dispatch 方法,中间件实际就是通过 override redux的store.dispat ...
- 【差分+前缀和】BZOJ1637: [Usaco2007 Mar]Balanced Lineup
Description Farmer John 决定给他的奶牛们照一张合影,他让 N (1 ≤ N ≤ 50,000) 头奶牛站成一条直线,每头牛都有它的坐标(范围: 0..1,000,000,000 ...
- bzoj 2510 弱题 矩阵乘
看题就像矩阵乘 但是1000的数据无从下手 打表发现每一行的数都是一样的,只不过是错位的,好像叫什么循环矩阵 于是都可以转化为一行的,O(n3)->O(n2)*logk #include< ...
- BZOJ_2820_YY的GCD_莫比乌斯反演
BZOJ_2820_YY的GCD_莫比乌斯反演 题意&分析: 首先f[i]非积性,但可以通过μ处理,所以我们考虑线筛 f[i*p]=μ[i*p/p']; 1.当i为质数时f[i]=1; 2.当 ...
- BZOJ_3697_采药人的路径_点分治
BZOJ_3697_采药人的路径_点分治 Description 采药人的药田是一个树状结构,每条路径上都种植着同种药材. 采药人以自己对药材独到的见解,对每种药材进行了分类.大致分为两类,一种是阴性 ...