zoukankan      html  css  js  c++  java
  • 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

    二:  很抠脚  本来想存文件里的,还不会把字典存文件,唉。

     1 #!usr/bin/env/ python
     2 # -*- coding:utf-8 -*-
     3 # Author:XiaoFeng
     4 
     5 shopping_car = []
     6 list = [("Iphone", 8500),
     7         ("Mac Pro", 11200),
     8         ("Starebuck Latte", 31),
     9         ("Alex python", 81),
    10         ("Bike", 800)]
    11 
    12 cmd = input("是否想要修改产品信息:")
    13 if cmd == "y":
    14     Name = input("商品名:")
    15     Price = input("价格:")
    16     list.append((Name, Price))
    17 
    18 file = open("balance", "r")
    19 money = file.read()
    20 file.close()
    21 if money.isdigit():
    22     money = int(money)
    23 
    24 if not money:
    25     while True:
    26         money = input("请输入您的余额:")
    27         if money.isdigit():
    28             file = open("balance", "a")
    29             file.write(money)
    30             file.close()
    31             money = int(money)
    32             break
    33         else:
    34             print("输入错误,请输入数字!")
    35 
    36 while True:
    37     for index, item in enumerate(list):
    38         print(index, item)
    39 
    40     user_choice = input("请输入您想要的选择:")
    41     if user_choice.isdigit():
    42         num = int(user_choice)
    43         if num >= 0 and num < len(list):
    44             if list[num][1] <= money:
    45                 money = money - list[num][1]
    46                 file = open("balance", "w")
    47                 file.write(str(money))
    48                 file.close()
    49                 shopping_car.append(list[num])
    50                 file = open("record", "a")
    51                 file.write(str(list[num]))
    52                 file.close()
    53                 print("成功添加商品:\033[41;1m%s\033[0m,您的余额为:\033[32;1m[%d]\033[0m" % (list[num][0],money))
    54             else:
    55                 print("抱歉,您的余额为:\033[31;1m%s\033[0m,买不起哈哈哈!" % money)
    56         else:
    57             print("无此商品,请重新输入!")
    58             continue
    59     elif user_choice == "q":
    60         print("--------shopping list--------")
    61         for i in shopping_car:
    62             print(i)
    63         print("您的余额为:%d" % money)
    64         exit()
    65     else:
    66         print("错误输入,请重新输入!")
    67         continue

      

      

  • 相关阅读:
    [转] 献给所有正在找路的人
    在同一表单内,多个提交按钮的处理方式
    javascript高级选择器querySelector和querySelectorAll
    一位年轻女董事长的37条忠告很受启发吧?
    函数的延迟加载
    WCF的CommunicationObjectFaultedException异常问题
    WCF Test Client对象数组输入问题
    [转载]C#开发Winform记录用户登录状态的方法
    using(C#)
    使用 SCTP 优化网络
  • 原文地址:https://www.cnblogs.com/xf1262048067/p/10549850.html
Copyright © 2011-2022 走看看