欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python学习第12天

程序员文章站 2022-05-10 11:02:43
...

Python学习第11天
这11天的学习对于我这个编程初学者、上班族、跨行入坑的人来说进度很慢,但丝毫没有影响我对编程的兴趣。
以下是我这十天的学习内容:

  • 学习调用Python中的模块
    os模块
import os
#跟操作系统交互,在系统查看当前文件目录,查看文件大小
cmd_res=os.system("dir")  #执行命令,输出出结果,不保存结果
cmd_res=os.popen("dir").read()  #不加read打印结果的临时地址,加read读出结果内容
print("----",cmd_res)
os.mkdir("new_dir")                    #在当前目录下创建文件夹

copy模块,在学习列表后的copy的简单应用

import copy                      #copy模块是浅复制
person=["name",["saving",100]]
p1=copy.copy(person)
p2=person[:]
p3=list(person)
p1=person[:]
p2=person[:]
p1[0]="white"
p2[0]="ying"
p1[1][1]=50
print(p1)
print(p2)
#联合账号的浅copy应用
  • 将自己写的模块放入Python模块库下,并调用。
  • Python的数据运算,这个节视频找不到了,自己到网上搜了一下看了看。
  • Python的列表和元组,简单来说呢,Python的列表是可以更改内容的,但元组不可以,元组就是只读列表。
    列表:
names=["4baiminglei",["gongming","yuanyanjie"],"huxin","lixiaojian","#!liuzhidong","wangguoqiang","wangbowen"]      
#列表lists
print(names[0:-1:2])                                             #列表的切片
print(names[::2])
print(names[0:-1])
print(names[:])
print(names[-1])

for i in names:                                                    #列表循环
    print(i)

names2=copy.deepcopy(names)                       #copy浅复制,复制的是第一层的存储地址
print(names2)                                                    
print(names)
names[2]="胡"                                     #更改列表第一层字符的时候,copy可以复制下来
print(names)
print(names2)
names[1][0]="Gongming"                           #更改列表中第二层字符的时候,copy失效
print(names)
print(names2)

print(names[0],names[2])                              #切片取数据
print(names[1:3])                                     #冒号前面的数表示从这个下标开始,冒号后面的数是表示这个下标之前
print(names[-2:])                                     #冒号后面没数是表示到列表最后
print(names[:3])                                      #冒号前面没数是表示从列表最头开始

names.append("Wangguoqiang")                          #append在最后追加
print(names)
names.insert(1,"yuxuehui")                                   #insert任意位置插入
print(names)
names[2]="wangbowen"                                      #替换列表中的字符串
print(names)

names.remove("yuxuehui")                                  #根据字符串内容,删除列表中的字符串
print(names)
del names[1]                                              #根据字符串位置,删除列表中字符串
print(names)
names.pop(1)                                              #.pop()括号内有位置是删除位置的字符串,括号内无位置时删除列表最后一位字符串
print(names)

print(names.index("#!liuzhidong"))          #indxe索引,查找列表中字符串的位置,并打印位置
print(names[names.index("#!liuzhidong")])   #打印该字符串
print(names.count("4baiminglei"))           #.count()统计括号内字符串在列表中的个数
#names.clear()                              #clesr清空列表
names.reverse()                             #reverse反转列表
print(names)

names2=['1','2','3']
names.extend(names2)                  #extend扩展
#del names2                            #删除变量
print(names,names2)

a_1=['1','2','3']
a_2=['4','5','6']
print(a_1+a_2)                                #列表的运算相加
a_2.append("7")                               #列表添加元素
print(a_2)
b_1=len(a_2)                                  #len列表长度查看
print(b_1)
name="我爱北京*"
print(name)
print(name.encode(encoding="utf-8"))                                #字符串转换
print(name.encode(encoding="utf-8").decode(encoding="utf-8"))       #字符串转换
  • 字符串的操作
name="\tmy name is {name} and i am {age} years old"
print(name.capitalize())           #capitalize首字母大写
print(name.count("e"))             #count计数
print(name.center(50,"-"))         #center中心,共打印50个字符,不够用"-"代替,把name字符串放中间
print(name.endswith("te"))         #endwith判断字符串以什么结尾的
print(name.expandtabs(tabsize=30)) #添加空格符
print(name.find("is"))             #查找字符串索引
print(name[name.find("name"):])    #给字符串切片
print(name.format(name="white",age="27"))      #format格式化
print(name.format_map({"name":"white","age":"27"}))   #format_map用法,主要用于字典
print(name.index("and"))            #查找字符串索引,功能类似find
print("ad12".isalnum())             #判断字符串是否为阿拉伯字符
print("ad".isalpha())               #判断字符串是否为纯英文
print("1000".isdecimal())
print("112".isdigit())              #判断字符串是否为整数
print("1A".isidentifier())          #判断是否为合法的变量名
print("1A".islower())               #判断是否为小写
print("1A".isnumeric())             #判断?
print(" ".isspace())                #判断是不是空格
print("A12".istitle())              #判断是否为首字母大写
print("1122".isprintable())             #判断是不是打印的,tty file or  drive file  是不能打印的
print("1122".isupper())               #判断是否为大写
print("+".join(["1","2","3"]))
print(name.ljust(50,"*"))             #在左边用*号补齐50个字符
print(name.rjust(50,"-"))             #在右边用-号补齐50个字符
print(name.lower())                   #小写
print(name.upper())                   #大写
print(name.lstrip())                  #左边去空格和回车
print(name .rsplit())                 #右边去空格和回车
print(name.strip())                   #去全部的空格和回车
p=str.maketrans("qwerty","123456")    #把括号左边的字符,用右边的字符一一对应的代替
print("white".translate(p))           #把代替后的内容传到字符串
#print("white".partition())            #不知道
print("white".replace("w","W",1))      #把左边用右边的代替,几个
print("white".rfind("i"))             #找到最右边的字符,打印下标
print("w h i te".split("e"))          #用字符串中任意字符当做分隔符,把字符串分割成列表
print("wh\nite".splitlines())          #用换行分割字符串
print("White".swapcase())              #大小写反向
print("white".title())                 #首字母大写
print("white".zfill(50))               #用0填充字符串
  • 购物车程序
#Author Mr_White

product_list=[
    ("iphoneX",10000),
    ("HUAWEImate20pro",12000),
    ("XIAOMI9",3000),
    ("VIVOx20",5000),
    ("OPPO20",4500)
]
shopping_list=[]
salary=input("Input your salary:")
if salary.isdigit():                    #isdigit 判断salary是否为整数
    salary=int(salary)                  #将salary转换为整数
    while True:
        for index,item in enumerate(product_list):                             #enumerate列举列表下标
        #for item in product_list:
            print(index,item)
            #print(product_list.index(item),item)                              #.index()打印列表下标
        user_choice=input("请选择购买的商品>>>:")
        if user_choice.isdigit():                                              #isdigit 判断user_choice是否为整数
            user_choice=int(user_choice)                                       #将user_choice转换为整数
            if user_choice < len(product_list) and user_choice >= 0 :          #len()查看列表长度返回一个数字
                p_item=product_list[user_choice]                               #找到已选择商品
                if p_item[1] <= salary:                                        #把已选择的商品价格与用户工资做比较
                    shopping_list.append(p_item)                               #把已选择的商品放入购物车列表
                    salary-=p_item[1]                                          #把已选择商品的价格从余额中扣除
                    print("Added %s into shopping cart,your current balance is \033[32;1m%s\033[0m"%(p_item,salary))
                else:
                    print("\033[31;1mYour current balance %s ,cannot afford\033[0m"%(salary))
            else:
                print("product code [%s] is not exist"%user_choice)
        elif user_choice=="q":
            print("-----shopping_list-----")
            for p in shopping_list:
                print(p)
            print("You current balance: \033[32;1m%s\033[0m"%salary)
            exit()
        else:
            print("invalid option")

  • 字典程序
#Author Mr_White

info={
    'stu0001':"white",
    'stu0002':"huxin",
    'stu0003':"lixiaojian",
    'stu0004':"wangbowen",
    'stu0005':"wangguoqiang"
}
print(info)
#字典的合并和覆盖
'''
b_info={
    "stu0001":"white2",
    1:2,
    3:4
}
info.update(b_info)
print(info)
'''
#将字典的索引和内容变成列表
'''
print(info.items())
'''
#更改增加
'''
print(info)
print(info['stu0003'])
info['stu0004']="王博文"
print(info)
info['stu0006']="zangshuhao"
print(info)
#del
#删除'''
'''del info['stu0006']
print(info)
#pop
info.pop('stu0002')
print(info)
info.popitem()'''
#查找
'''print(info)
print(info.get('stu0007'))
print('stu0003' in info )'''
#多级字典嵌套
'''
learn_catalog={
    "software_programming":{
        "python":[
            "creeper",
            "database",
            "artificial_intelligence"
        ],
        "java":[
            "creeper",
            "database",
            "artificial_intelligence"
        ],
        "C#":[
            "creeper",
            "database",
            "artificial_intelligence"
        ],
        "C++":[
            "creeper",
            "database",
            "artificial_intelligence"
        ],
        "C":[
            "creeper",
            "database",
            "artificial_intelligence"
        ],
        "GO":[
            "creeper",
            "database",
            "artificial_intelligence"
        ]
    },
    "project_programming":{
        "PLC":[
            "programme",
            "simulation"
        ]
    },
    "read":{
        "economics":[
            "nicai",
            "hehe"
        ],
        "finance":[
            "你猜",
            "不想说"
        ]
    }
}
learn_catalog["read"]["finance"][1]="3"
learn_catalog.setdefault("watch",{"TV":["1","2"]})
print(learn_catalog)
'''
#新建空字典,只能新建一层字典
'''
c_info=dict.fromkeys([6,7,8],[1,{"name":"white"},444])
c_info[7][1]["name"]="baiminglei"
print(c_info)
'''
#字典循环两种方法

#字典循环第一种方法是找到字典索引循环
'''
for i in info:
    print(i,info[i])
'''
#字典循环第二种方法是先把字典转成列表,非常低效
'''
for k,v in info.items():
    print(k,v)
'''
  • 三级菜单
#Author Mr_White

city={
    "山东":{
        "济南":{
            "历城区":["烤鱼","大虾","牛排"],
            "历下区":["肉夹馍","饺子","小笼包"],
            "槐荫区":["七天","如家","汉庭"]
        },
        "威海":{
            "文登区":["沙河","三里桥","东街"],
            "荣成市":["步行街","小吃街","王府井"],
            "乳山市":["海参区","鲍鱼区","大虾区"]
        },
        "烟台":{
            "蓬莱市":["小面","油条","油炸糕"],
            "莱山区":["烟职","工商","商务"],
            "芝罘区":["火车站","汽车总站","青年路汽车站"]
        }
    },
    "河北":{
        "石家庄":{
            "长安区":["南街","北街","西街"],
            "桥东区":["东门","西门","北门"],
            "桥西区":["东床","西床","北床"]
        },
        "承德":{
            "避暑":["东墙","西墙","南墙"],
            "山庄":["东山","西山","北山"],
            "大桥":["东河","西河","北河"]
        },
        "雄安新区":{
            "P城":["防区","街道","塔楼"],
            "Y城":["一楼","二楼","三楼"],
            "机场":["C楼","跑道","大厅"]
        }

    }
}
exit_f=True
while exit_f:
    for i in city:
        print(i)
    choice=input("_city1:")
    if choice in city:
        while exit_f:
            for i2 in city[choice]:
                print("\t",i2)
            choice2=input("_city2;")
            if choice2 in city[choice]:
                while exit_f:
                    for i3 in city[choice][choice2]:
                        print("\t\t",i3)
                    choice3=input("_city3:")
                    if choice3 in city[choice][choice2]:
                        for i4 in city[choice][choice2][choice3]:
                            print("\t\t",i4)
                        choice4=input("按b返回:")
                        if choice4=="b":
                            pass
                        elif choice4=="q":
                            exit_f=False
                    if choice3=="b":
                        break
                    elif choice3 == "q":
                        exit_f = False
                    else:
                        print("into error")
            if choice2=="b":
                break
            elif choice2 == "q":
                exit_f = False
            else:
                print("into error")
    elif choice=="b":
        break
    elif choice == "q":
        exit_f = False
    else:
        print("into error")

  • 简单的用户登录程序
# Author:White bai
username="white"
password="123456"
count=0
for i in range(3):
    _username=input("_username:")
    _password=input("_password:")
    if _username==username and _password==password:
        print("welcome to the world of dream")
        break
    else:
        print("user or password error")
        count+=1
        if count==3:
            print("The account")

基本上这12天学的东西全在这了,进度有太慢了,只能加油了,明天中午休息也要来办公室学习了。