Python-day02-模块的简单应用、所有字符串函数用法、列表的操作、字典的操作、简单购物系统实例

模块:

其实不同的语言不同的叫法这里又可以叫做包,库

Python给我们提供了大量的第三方库支持我们的工作和学习

这里简单提两个sys 和 os 可以运行下看下实验结果:

import sys

print(sys.path)#打印环境变量
print(sys.argv)#
print(sys.argv[2])

import os

#cmd_res = os.system("dir")#执行命令不保存结果
cmd_res = os.popen("dir").read()
print(cmd_res)
os.mkdir("new_dir")

字符串函数用法:

name ="wxh_aaaaaa"
#首字母大写
print(name.capitalize())
#计数'a'
print(name.count("a"))
#把字符串X放在中间不够的用'-'补充
print(name.center(50,"-"))
#判断以什么结尾
print(name.endswith("aa"))
#将tab转换为n个空格
print(name.expandtabs(tabsize=30))
#找查找字符的索引
print(name.find("a"))
#格式化
names ="asd {nam}"
print(names.format(nam='wxh'))
#字典
names1 ="asd    {aa}"
print(names1.format_map({'aa':'sdasd'}))
#判断英文字符和数字
print('sd12'.isalnum())
#判断纯英文
print('sada'.isalpha())
#判断数字
print("213".isdigit())
#判断十进制
print("34".isdecimal())
#判断是不是合法变量名
print('das'.isidentifier())
#判断是不是只有数字
print('232'.isnumeric())
#判断是不是标题
print('sd'.istitle())
#p判断是不是全大写
print('AS'.isupper())
print('+'.join(['1','2','3']))
#居左  居右剩下用''中的补够长度50
print(name.ljust(50,'*'))
print(name.rjust(50,'*'))
#去掉左边 右边的空车和回车
#name.lstrip()
#name.rstrip()
#去掉所有空格回车
# name.strip()
#用后面的代替前面的字符
# str.maketrans('1124','asdf')
#.translate()
#替代
print('william wxh'.replace('w','W',2))
#找最右边的
print('william'.rfind('i'))
#按照''分成列表
print('se oe f f'.split(' '))
print('s\nadf\nad'.splitlines())
#大小写互换
print('saDFS'.swapcase())

列表的操作:

这里的高大上的列表其实就是在c语言中常用的数组  用  [] 表示

这里有个元组的概念:(只读的列表)不可被修改    用  () 表示

Python也为它提供了很多可以调用的函数

#切片
names = ["xiaoming","xiaowang","xiaozhang"]
print(names[0],names[2])
#连续取
print(names[0:2])#顾头不顾尾
#步长 切片 names[0:-1:2]
for i in names:
    print(i)

#类似数组
# 索引如果为-1则返回最后一个 同理-2为倒数第二个
print(names[-1])
#如果想倒着连续取
print(names[-1:])
#追加
names.append("xiaohou")
names.insert(1,"xiaoli")#插在哪写在哪
#更改
names[2]="xiaoxiao"
print(names)
#删除
#1.使用del删除
del names[0]
print(names)
#2.使用remove
names.remove("xiaoxiao")
print(names)
#3.使用.pop删除(如果使用下标则效果类似del:del names[1]=names.pop(1))
names.pop()
print(names)
#查找
print(names.index("xiaoli"))
print(names[names.index("xiaoli")])
#计数 记重复  names.count("xxx")
#列表清除  names.clear()
#反转逆序  names.reverse()
#排序(规则:ASCII码)names.sort()
#扩展 (把别的列表并过来) names.extend()
#只复制第一层
names2 =names.copy()
#深浅复制copy.copy  copy.deepcopy

字典操作

info ={
#key-value
    'st1':"aaaa",
    'st2':"bbbb",
    'st3':"cccc",
}
#字典是无序的
print(info)
print(info['st1'])
#修改 之前有就可以直接修改 没有则增加
info['st4']='dddd'
#删除
#del info['st1']
info.pop('st1')
info.popitem()#随机删除
print(info)
#查找
print(info.get('st1'))
#查在不在
print('st1' in info)
#多级字典的嵌套和数组操作类似
#values
print(info.values())
#keys
print(info.keys())
#如果存在就返回没有就创建
print(info.setdefault('sdt','sooo'))
b ={
    'st1':'sdf',
}
#存在的更新 不存在的创建
info.update(b)
print(info)
#字典转成列表
print(info.items())
#初始化一个字典
c =dict.fromkeys([6,7,8],'sd')
print(c)
#字典的循环
for i in info:
    print(i,info[i])
#不建议
#for k,v in info.items():
#   print(k,v)

知道这些函数 结合之前的知识可以进行做一个购物车的小实例

实例案例

编写一个购物系统

输入工资可以买东西

退出后显示购物清单和余额

salary=input("input your salary:")
product_list =[
    ('iphone',5800),
    ('mac pro',12000),
    ('bike',800),
    ('watch',10600),
    ('coffee',31)
]
shoping_list =[]
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_choice =input("选择买什么?:")
        if user_choice.isdigit():
            user_choice =int(user_choice)
            if user_choice <len(product_list) and user_choice >=0:
                p_item =product_list[user_choice]
                if p_item[1]<=salary:#买得起
                    shoping_list.append(p_item)
                    salary -=p_item[1]
                    print("Added %s into shopping cart ,balance is \033[31;1m%s\033[0m"%(p_item,salary))
                else:
                    print("\033[31;1m买不起。。剩[%s]\033[0m"%(salary))
            else:
                print('商品不存在!')
        elif user_choice =='q':
            print('----shopping list------')
            for p in shoping_list:
                print(p)
            print('balance:',salary)
            exit()
        else:
            print('invallid option')
            continue

实验结果:

猜你喜欢

转载自blog.csdn.net/weixin_41445387/article/details/86512422