w2_自学python_模块_列表_元组_字典_文件

python学习网 2018-07-19 22:39:02

w2

16、第二周-第02章节-Python3.5-模块初识

sys模块

import sys

sys.path

print(sys.path)
打印环境变量

sys.argv

print(sys.argv)
返回列表:脚本相对路径,[以及传入参数]
print(sys.argv[1]) 表示打印传入的第一个参数值,依次类推

os模块

import os

os.system

result = os.system("ls")
print(result)
result可能的值为0或1,代表执行成功与否,不保存命令执行返回数据

os.popen

cmd_res = os.popen("dir").read()
cmd_res可以读取到命令执行的返回数据

os.mkdir

os.mkdir("new_dir")
创建一个目录

17、第二周-第03章节-Python3.5-模块初识2

18、第二周-第04章节-Python3.5-pyc是什么

检查源文件与pyc的时间,如果源文件更新,则预编译一次再执行

19、第二周-第05章节-Python3.5-python数据类型

int float complex(复数)
bool

20、第二周-第06章节-Python3.5-bytes数据类型

数据运算(略)

三元运算:

result = 值1 if 条件 else 值2
if 条件为真,则为值1
if 条件为假,则为值2
a,b,c = 1,3,5
d = a if a>b else c
print(d)

str与bytes

encode_decode

21、第二周-第07章节-Python3.5-列表的使用

列表与元组

列表

list_A = []
list_A.append("string")
list_A.insert(0,"string_A")
list_A[1] = "stringC"
list_A.remove("stringc")
del list_A[1]
list_A.pop()
list_A.pop(index)
list_A.clear() #清空列表
list_A.reverse() #顺序反转
list_A.sort() #排序
注:排序规则按accssic码规则排列

元组

元组可以看作是只读的列表。
只有count,index属性

练习

程序:购物车程序
需求:
1.启动程序后,让用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4.可随时退出,退出时,打印已购买商品和余额

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

products = ['手机','电脑','鼠标','微波炉']
price = [1000,3000,50,300]
shop_cart = []
amount = []
find_minimum_price = price.copy()
find_minimum_price.sort()
while True:
    #提示用户输入帐户中存入的钱的数额
    temp_input = input("please input your amount:")
    #判断是否输入的为数字,若是数字,则进入选购流程
    if temp_input.isdigit():
        user_have= int(temp_input)
        print("your amount :",user_have)
        break
    #如果不为数学,则提示用户输入数字,返回输入框
    else:
        print("Please input digit numbers!")
        continue


while True:
    #展示商品序号,商品名称,商品价格
    for index in range(len(products)):
        product_info  = '''
        {index}.{product} {price}    
        '''.format(index=index+1,product=products[index],price=price[index])
        print(product_info)
    #用户输入菜单选项
    user_input = input("please input product number or press q to quit:").strip()
    #如果用户输入的选项为字母q,则打印用户选购的商品列表,及所选商品总金额,然后退出
    if user_input == "q":
        print(shop_cart)
        print(amount)
        print("选择商品的总额为:",sum(amount))
        break
    #如果用户输入的选项不是q,则判断是否输入的是数字
    elif user_input.isdigit():
        user_input = int(user_input)
        #判断用户输入的数字是否是菜单中的选项
        if user_input in range(1,len(products)+1,1):
             #判断用户的帐户是否大于等于用户所选购的商品价格,是就将商品放入购物车
            if user_have >= price[user_input-1]:
                shop_cart.append(products[user_input - 1])
                amount.append(price[user_input-1])
                print(shop_cart)
                print(amount)
                user_have = user_have - price[user_input - 1]
                print("your rest amount:" ,user_have)
                #判断用户的帐户余额是否小于商品中价格最少的数额,如果小于则退出程序
                if user_have < find_minimum_price[0]:
                    print("you are broken!")
                    break
            #如果用户选购商品的价格大于用户帐户,则打印用户没有足哆的钱,返回选购菜单
            else:
                print("you don't have enough money!")
                continue
        else:
            print("Please make sure input right number!")
    else:
        print("Invalid input,please check!")

参考alex blog:http://www.cnblogs.com/alex3714/articles/5717620.html

22、第二周-第08章节-Python3.5-列表的使用2

list_A.extend(list_B) #将list_B的元素扩展到list_A

尝试:列表的深copy,浅copy的区别

import copy
list_B = copy.deepcopy(list_A)

list_copy
列表按步长取元素
print(list_A[0: -1:2]) #按步长为2,从0个元素取值到最后一个
print(list_A[::2]) #其中0和-1可以省略不写,与上一种等价

23、第二周-第09章节-Python3.5-元组与购物车程序练习

字符串操作

字典操作

集合的操作

文件操作

 

阅读(2153) 评论(0)