zoukankan      html  css  js  c++  java
  • 初识Python.day2

     

    一. python运算符

    算数运算符

     比较运算符

    赋值运算符

    逻辑运算符

    成员运算符

    二. Python基础数据类型

    1. python字符串总结

      1 # 首字母变大写
      2 # a1 = "jiuya"
      3 # print(a1.capitalize())
      4 
      5 # # 内容居中,
      6 # a1 = "jiuya"
      7 # ret = a1.center(20,'*')
      8 # print(ret)
      9 
     10 # 计算字符串中的子序列个数
     11 # a1 = "my name is mike"
     12 # # ret = a1.count("m")
     13 #   # 制定范围子序列个数
     14 # ret = a1.count("m",0,6)
     15 # print(ret)
     16 
     17 # 判断是否以什么结尾,支持子序列是否以什么结尾.获取大于等于0,小于2的位置
     18 # a1 = "hello"
     19 # ret = a1.endswith('o')
     20 # ret2 = a1.endswith('e',0,2)
     21 # print(ret2)
     22 
     23 # # 判断是否以什么开头,
     24 # a1 = "alex"
     25 # ret = a1.startswith('a')
     26 # print(ret)
     27 
     28 # 制表符,	代表一个tab键
     29 # find查找,找到返回找到的位置,找不到返回-1
     30 # s = "alex hello"
     31 # print(s.find("b"))
     32 
     33 # 字符串的格式化,只能从开始,按照顺序更新
     34 # s = "hello {0},age {1}"
     35 # print(s.format('jiu',23))
     36 
     37 # 寻找子序列的位置,如果没有找到则报错
     38 #  index
     39 
     40 # # 判断是否都是字母
     41 # a1 = "jiu"
     42 # print(a1.isalpha())
     43 #
     44 # # 判断是否都是数字
     45 # a1 = "123"
     46 # print(a1.isalnum())
     47 #
     48 # # 判断是否都是小写
     49 # a1 = "jiu"
     50 # print(a1.islower())
     51 #
     52 # # 判断是否都是大写
     53 # a1 = "JIU"
     54 # print(a1.isupper())
     55 #
     56 # # 判断是否是标题,首字母大写
     57 # a1 = "Jiu"
     58 # print(a1.istitle())
     59 #
     60 # # 连接,join.循环每个元素,通过特殊符号连接
     61 # li = ["jiu","ya","chun"]
     62 # s = "*".join(li)
     63 # print(s)
     64 #
     65 # # 去除空格
     66 # s = " alex "
     67 # # 左边去空格:new = s.lstrip()
     68 # # 右边去空格:new = s.rstrip()
     69 # # 两边去空格:new = s.strip()
     70 #
     71 # # 分割,指定分隔符分割,添加到一个元祖中
     72 # # 默认从左往右,rpartition从右往左找
     73 # s = "alex SB alex"
     74 # ret = s.partition('SB')
     75 # print(ret)
     76 #
     77 # # 替换,从左往右替换几次
     78 # s = "alex SB alex"
     79 # ret = s.replace("al","BB",1)
     80 # print(ret)
     81 #
     82 # # 分割,以默认分割,分完不带分割符.以找到的第几处为分隔符
     83 # s = "alexalex"
     84 # ret = s.split("e",1)
     85 #
     86 # # 变成标题
     87 # s = "the school"
     88 # ret = s.title()
     89 # print(ret)
     90 
     91 # # 索引
     92 # s = "alex"
     93 # print(s[0])
     94 #
     95 # # 长度
     96 # s = "abcd"
     97 # print(len(s))
     98 
     99 # 切片,遵循 大于等于,小于的规则
    100 # s = "alex"
    101 # print(s[0:1])
    102 # print(s[-3:-1])
    103 
    104 # # while 实现循环打印字符串中的每个元素
    105 # start = 0
    106 # s = "alex"
    107 # while start < len(s):
    108 #     temp = s[start]
    109 #     start += 1
    110 #     print(temp)
    111 
    112 # # for循环实现字符串打印,碰到e不打印
    113 # s = "alex"
    114 # for I in s:
    115 #     if I == "e":
    116 #         continue
    117 #     print(I)

     2. 列表

     1 ##### 列表:
     2 # 索引,正索引从0开始,负索引从-1开始
     3 # name_list = ["jiu","niu","liu"]
     4 # print(name_list[0])
     5 
     6 # # 切片
     7 # print(name_list[0:2])
     8 
     9 # # len 长度
    10 # print(len(name_list))
    11 
    12 # # for 循环
    13 # for i in name_list :
    14 #     print(i)
    15 
    16 # # 获取某个值的索引
    17 # print(name_list.index("liu"))
    18 
    19 # # 追加
    20 # name_list.append("ling")
    21 # print(name_list)
    22 
    23 # # 统计元素次数
    24 # print(name_list.count('jiu'))
    25 #
    26 # # 扩展,批量添加
    27 # num_list = ["11","22","33"]
    28 # name_list.extend(num_list)
    29 # print(name_list)
    30 
    31 # # 指定位置插入元素,位置 + 元素
    32 # name_list.insert(2,"SB")
    33 # print(name_list)
    34 
    35 # # 移除最后一个元素,并赋值给变量
    36 # a1 = name_list.pop()
    37 # print(a1)
    38 
    39 # # 移除指定元素,左往右第一个
    40 # name_list.remove('jiu')
    41 # print(name_list)
    42 
    43 # # 反转
    44 # name_list.reverse()
    45 # print(name_list)
    46 
    47 # 指定位置删除
    48 # name_list = ["jiu","niu","liu"]
    49 # print(name_list)
    50 # del name_list[0]
    51 # del name_list[1:3]
    52 # print(name_list)
    53 #
    53 # 修改列表指定元素
    54 # list[index] = value
    55 #
    56 # list + list
    57 # 连接列表,产生新列表,原列表不变
    58 #
    59 # list[] * n

    60 # list1 = ["你"]
    61 # list1 * 3
    62 # ["你","你","你"]
    63 # 排序
    64 # sort(key=None,reverse=False)
    65 # 对列表进行排序,就地修改,默认升序,key为一个函数,指定key如何排序
    66 # 补充:
      列表删除
      remove(value) 从左往右匹配查找第一个匹配的值并删除 !!!遗忘掉!!!
      pop(index)   不指定索引则删除最后一个  默认用此方法

    3.元祖

    1 ##### 元祖
    2 # 元祖和列表几乎是一样的,元祖不能修改。若以后创建一个集合,
    3 # 不想让人修改可以用元祖,想让人修改,可以用集合
    4 
    5 # 切片
    6 # 索引
    7 # len
    8 # for循环
    9 # 个数count

    4. 字典

     1 ###字典,字典的每个元素都是一个键值对
     2 user_info = {
     3     "name":"alex",
     4     "age":23,
     5     "gender":"M"
     6 }
     7 # 索引
     8 # print(user_info["name"])
     9 
    10 # # 循环,默认输出的是keys值
    11 # for I in user_info:
    12 #     print(I)
    13 # print(user_info.keys())     # 输出键
    14 # print(user_info.values())   # 输出值
    15 # print(user_info.items())    # 输出键值
    16 
    17 # 清除所有内容
    18 # user_info.clear()
    19 # print(user_info)
    20 #
    21 # # get 根据key获取值,如果key不存在,可以指定默认值,和下面删除 pop()类似功能
    22 # val = user_info.get('name')
    23 # print(val)
    24 # # 索引取值时,如果不存在则会报错。推荐用get。指定默认值处理方式
    25 # val = user_info.get('age1',40)
    26 # print(val)
    27 
    28 # # 检查字典中指定key是否存在
    29 # ret = 'name' in user_info.keys()
    30 # print(ret)
    31 
    32 # # update 批量更新键值对
    33 # print(user_info)
    34 # test = {
    35 #     "a1":"123",
    36 #     "a2":"456"
    37 # }
    38 # user_info.update(test)
    39 # print(user_info)
    40 
    41 # # 删除指定索引键值
    42 # del user_info["name"]
    43 # print(user_info )
    44 # 删除指定键,返回值是一个元祖
    45 # a =
    dic.pop('age')
    46 #
    47 # 可删除不存在键,自定义设置返回值
    47 # print(dic.pop('high','没有此键'))

    48 # 分别赋值思想,则可以分别打印字典的键,值
    49 # for a,b in dic.items():
        print(a,b)
    
    

     5. 补充

    # # enumerate 默认会在列表前面加一行索引数字,默认从0开始计数,列表,字典等都可用
    # li = ["电脑","鼠标","键盘"]
    # for key,value in enumerate(li,1):
    #     print(key,value)
    #
    # inp = input("请输入你要的商品:")
    # num = int(inp)
    # print(li[num - 1])
    # li = ["电脑","鼠标","键盘"]
    # inp = li.index("鼠标")
    # print(inp)
    
    # range 需要用循环打印出内容,也可以指定跨度
    # for I in range(1,10):
    #     print(I)
    # for I in range(10,1,-2):
    #     print(I)
    # 用range 循环列表实现enumerate的功能
    # li = ["jiu","liu","niu"]
    # lens = len(li)
    # # print(lens)
    # for I in range(0,lens):
    #     print(I,li[I])

     三. 练习题

    1.元素分类

    有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
    即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}

     1 li = [11,22,33,44,55,66,77,88,99]
     2 all = {
     3     "k1":[],
     4     "k2":[]
     5 }
     6 for I in li:
     7     if I > 66:
     8         all["k1"].append(I)
     9     elif I < 66:
    10         all["k2"].append(I)
    11 print(all)
    12 感觉此处运用到的一个知识点为:字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

    2.查找

    查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
        li = ["alec", " aric", "Alex", "Tony", "rain"]
        tu = ("alec", " aric", "Alex", "Tony", "rain") 
        dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}
    1 # for I in li:
    2 #     if I.startswith('a') or I.startswith('A') and I.endswith('c'):
    3 #         print(I)
    4 # for I in tu:
    5 #     if I.startswith('a') or I.startswith('A') and I.endswith('c'):
    6 #         print(I)
    7 # for I in dic.values():
    8 #     if I.startswith('a') or I.startswith('A') and I.endswith('c'):
    9 #         print(I)

    3.商品选购

    商品 li = ["手机", "电脑", '鼠标垫', '游艇']

    4.购物车

    功能要求:

    • 要求用户输入总资产,例如:2000
    • 显示商品列表,让用户根据序号选择商品,加入购物车
    • 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
    • 附加:可充值、某商品移除购物车
    1 goods = [
    2     {"name": "电脑", "price": 1999},
    3     {"name": "鼠标", "price": 10},
    4     {"name": "游艇", "price": 20},
    5     {"name": "美女", "price": 998},
    6 ]

    5.用户交互,显示省市县三级联动的选择

     1 dic = {
     2     "河北": {
     3         "石家庄": ["鹿泉", "藁城", "元氏"],
     4         "邯郸": ["永年", "涉县", "磁县"],
     5     }
     6     "河南": {
     7         ...
     8     }
     9     "山西": {
    10         ...
    11     }
    12  
    13 }
  • 相关阅读:
    HDU 2639 Bone Collector II (01背包,第k解)
    POJ 2184 Cow Exhibition 奶牛展(01背包,变形)
    hihoCoder #1165 : 益智游戏 (挑战赛11 B题)
    UVA 562 Dividing coins 分硬币(01背包,简单变形)
    POJ Charm Bracelet 挑饰品 (常规01背包)
    hiho一下 第四十四周 博弈游戏·Nim游戏(直接公式解)
    UVA 624 CD(01背包,要记录路径)
    118 Pascal's Triangle 帕斯卡三角形 杨辉三角形
    117 Populating Next Right Pointers in Each Node II 每个节点的右向指针 II
    116 Populating Next Right Pointers in Each Node 每个节点的右向指针
  • 原文地址:https://www.cnblogs.com/jiuyachun/p/9958800.html
Copyright © 2011-2022 走看看