Python 笔记 (二)

本文介绍了Python的基础操作,包括sys和os模块的基本使用,如路径打印、命令执行等;讲解了数据类型如整数、浮点数及布尔值的操作,并演示了列表的增删改查;还涉及字符串操作方法如查找、替换等,以及简单的购物车程序实现。

这次学习的东西,主要在增删改查。 

首先,学习了sys模块和os模块。首先通过了print(sys.path)打印其路径,site-packages。还有os模块 print(os.system('dir')) 乱码是因为windows编写不是utf-8, ces_res= os.system('dir') 只是执行命令,不保存结果。cmd_res=os.popen('dir).read() 执行命令之后存到临时的地方,需要read读出来。os.mddir('new_dir')创建新文件夹。

之后是数据类型,int,浮点,布尔值,循环,都是最基础。

导入模块。通过pyc了解到,python是解释性语言,不是内有编译过程,而是通过解释器对程序做逐行解释,直接运行。

列表的操作,增删改查。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: Dongdong

import copy
names=['ZhangYang','Guyun', 'Xiangpeng',['Alex','Black'],'ChenZhonghua',' XuLiangchen']

#range(1,10,2)
print(names[0:-1:2])
print(names[::2])
print(names[:])


for i in names:
    print(i)

'''#name2=names.copy()  浅copy
name2=copy.deepcopy(names)  #深copy
print(names)
print(name2)
names[2]='向鹏'
print(names)
print(name2)

names[3][0]='Dong'
print(names)
print(name2)'''


'''names.append('LeiHaidong')
names.insert(1,'ChenZhonghua')
names.insert(3,'XinZhiyu')
names[2]='XieDi'

#names.remove('ChenZhonghua')

#del names[1]

#names.pop(1)
print(names)

print(names.index('XieDi'))  #查位置
print(names[names.index('XieDi')])

print(names.count('ChenZhonghua'))#统计

names.reverse()#反转
print(names)

names.sort()  #排序
print(names)
names2=[1,2,3,4]
names.extend(names2) #加一个列表

#del names2
print(names,names2)'''

字符串的操作
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: Dongdong

name='my name is {name}and i am {year} old'

print(name.capitalize())   #首字母大字
print(name.count('a'))
print(name.center(50,'-'))   #补- 不够50个字符的时候  ******************
print(name.endswith('dong'))
print(name.expandtabs())
print(name.find('name'))  #找到的字符的索引
print(name[name.find('name'):])
print(name.format(name='dong',year=24))
print(name.isalnum())
print('adbc'.isalpha())
print('1e2'.isalnum())  #十进制
print("aaaa".isdigit())
print('aaa1a'.isidentifier())  #判断是不是一个合法的标识符
print("aaaa".islower()) #小写
print("aaaa".isnumeric())#不用
print("aaaa".istitle())
print('aaa'.join(['1','2','3']))
print('dong\n'.rstrip())
print('---')
print('dong'.replace('d','D'))

p=str.maketrans('Albert Wu','1a2x3456@')
print('Wu e bu zuo de wo'.translate(p))

print('dodndhbihdk'.split("d"))#分割

print('Albert Wu'.swapcase()) #大小写反转
print('albert wu'.title())
print('albert wu'.zfill(50))

bytes数据类型。字符串和二进制相互转换。字转二 encode 二转字 decode。

三元运算

d=a if a>b else c,很方便。

*************************************

购物车程序

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: Dongdong

#salary=int(input('您的月收入为:'))
commodity = [['iPhone', 5600], ['bicycle', 1000], ['headset', 120], ['mobile phone', 3000], ['cloth', 800]]
salary=input('您的月收入是:')
shopping_list=[]
if salary.isdigit():
    salary=int(salary)
    while True:
        for index,i in enumerate(commodity):   #enumerate 枚举
           # print(commodity.index(i),i)  #打印商品编号
            print(index,i)
        choose=input('继续买请选择商品编号,返回则输入q>>>:')
        if choose.isdigit():
            choose=int(choose)
            if choose<len(commodity)and choose>=0:
                p_item=commodity[choose]
                if p_item[1]<=salary:#买的起
                    shopping_list.append(p_item)
                    salary-=p_item[1]
                    print('将\033[31;1m%s\033[0m加入了您的购物车,您的余额还有:\033[31;1m%s\033[0m'%(p_item[0],salary))   #字体变颜色的方法 死模式
                else:
                    delete=input('\033[42;1m您的余额只剩下%s,如需删除购物车商品请输入‘d’.否则按任意键继续.\033[0m'%salary)
                    if delete=='d':
                        for index,i in enumerate(shopping_list):
                            print(index,i)
                        shoppinglist_choose=input('请选择需要删除的商品编号:')
                        if shoppinglist_choose.isdigit():
                            shoppinglist_choose=int(shoppinglist_choose)
                            d_item=shopping_list[shoppinglist_choose]
                            salary+=d_item[1]
                            del d_item
                            print('您的余额还有:\033[31;1m%s\033[0m'%salary)
                        else:
                            print('Invalid option')
                    else:
                        print('\033[41;1m您的余额只剩下%s,请及时充值才可以购买。\033[0m'%salary)
                        recharge=int(input('\033[42;1m请输入你所需要充值的金额:\033[0m'))
                        salary+=recharge
                        print('您的余额还有:%s'%salary)
            else:
                print("\033[32;1m没有此商品,请重新选择\033[0m")
        elif choose=='q':
            print('--------------shopping list----------------')
            for index,n in enumerate(shopping_list):  #只是单纯想枚举一下
                print(n)
            print('您的余额还有:\033[31;1m%s\033[0m'%salary)
            print('exit...')
            exit()
        else:
            print('Invalid option')
else:
    print('Invalid option')

初学,写的很繁琐。。。

关于字典也很简单,之前一的时候登录中就用到了。  说个格式把\033[31;1m%s\033[0m   字体加颜色。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值