zoukankan      html  css  js  c++  java
  • 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    1-shopping

      1 """
      2 v = [
      3     {"name": "电脑","price":"1999"},
      4     {"name": "鼠标", "price": "10"},
      5     {"name": "游艇", "price": "20"},
      6     {"name": "美女", "price": "998"},
      7 ]
      8 
      9 #1.让用户输入自己账户余额
     10 while True:
     11     money = input("请输入账户金额:")
     12     money = money.strip()   #去掉输入字符前后的空格
     13     if money.isdecimal():   #判断输入的字符是否为十进制字符
     14         money = int(money)  #将输入的字符通过int格式化为数字
     15         break
     16     else:
     17         print("请正确输入数字!")   #如果输入的不为十进制字符,提示正确输入数字
     18 print(money, type(money))   #显打印钱的金额,再打印金额数字的字符类型,此处类型应为:int
     19 
     20 """
     21 
     22 """
     23 v = [
     24     {"name": "电脑","price":"1999"},
     25     {"name": "鼠标", "price": "10"},
     26     {"name": "游艇", "price": "20"},
     27     {"name": "美女", "price": "998"},
     28 ]
     29 
     30 #2. 显示商品列表
     31 #解决思路1-------用户和开发者都麻烦
     32 for item in v:
     33     #item的类型为字典
     34     #第一次循环时,item = {"name": "电脑","price":"1999"} ,可以分别通过字典的key取对应的value值
     35     print(item['name'],item['price'])
     36 
     37 sel = input('请选择商品:')   # sel = '鼠标' v[1]
     38 for row in v:
     39     if sel == row['name']:
     40         print('商品价格为:',row['price'])
     41 """
     42 
     43 v = [
     44     {"name": "电脑","price":"1999"},
     45     {"name": "鼠标", "price": "10"},
     46     {"name": "游艇", "price": "20"},
     47     {"name": "美女", "price": "998"},
     48 ]
     49 #解决思路2-----让用户和开发者都比较简单
     50 
     51 # num = 0   #只有程序员才明白数字是从0开始计算的,所以对用户不太友好
     52 # for item in v:
     53 #     print(num, item['name'], item['price'])
     54 #     num += 1
     55 
     56 #2.显示商品列表
     57 while True:
     58     money = input("请输入账户金额:")
     59     money = money.strip()   #去掉输入字符前后的空格
     60     if money.isdecimal():   #判断输入的字符是否为十进制字符
     61         money = int(money)  #将输入的字符通过int格式化为数字
     62         break
     63     else:
     64         print("请正确输入数字!")   #如果输入的不为十进制字符,提示正确输入数字
     65 #print(money, type(money))   #显打印钱的金额,再打印金额数字的字符类型,此处类型应为:int
     66 print(money)
     67 
     68 num = 1
     69 for item in v:
     70     print(num, item['name'], item['price']) #打印商品序号,商品名称、商品价格
     71     num += 1
     72 
     73 
     74 #3.让用户购买商品
     75 cost = 0
     76 while True:
     77     index = input('请输入商品序号(q/Q结算):')
     78     if index.lower().strip() == "q":
     79         break
     80     #应考虑用户输入是否:空格,是否数字,范围
     81     index = index.strip()
     82     if index.isdecimal():
     83         index = int(index)
     84         index = index - 1   #用户输入的index数值需减去1,才为商品的实际序号
     85         #if index > 0 and index < 5
     86         if index >= 0 and index < len(v):
     87             #用户输入的序号是正确的
     88             # v[index] 为字典
     89 
     90             #以下为拆分字符串格式化
     91             #v[index]['name']
     92             #val = v[index]['price']
     93             #val1 = int(val)
     94             #temp = '您购买商品%s,价格:%d' %(v[index]['name'],int(v[index]['price']))
     95             print('您购买商品:%s,价格:%d' %(v[index]['name'],int(v[index]['price'])))
     96 
     97             #----或者用上面的方法拆开
     98 
     99             #v[index]['name']
    100             #v[index]['price']
    101             #print('您购买商品%s,价格:%d' %(v[index]['name'],v[index]['price']))
    102             cost += int(v[index]['price'])
    103             print('合计金额:',cost)
    104         else:
    105             print('输入商品序号不存在!')
    106     else:
    107         print('请输入数字!')
    108 if money >= cost:
    109     print('购买成功')
    110 else:
    111     print('余额不足')
    112 
    113 #扩展:问题:购买商品信息,商品名称,单价,个数

    2-39-ti-creat-data-split-page-show

     1 #创造305跳数据,用户每输入页码显示10条数据
     2 user_list = []
     3 i = 1
     4 while i <= 305:
     5     #创建字典方法3时注释掉下文:
     6     # name = "alex-%d" %(i,)
     7     # email = "email-%d" %(i,)
     8     # pwd = "pwd-%d" %(i,)
     9 
    10 #创建字典方法1
    11     # temp = {}
    12     # temp['username'] = name
    13     # temp['email'] = email
    14     # temp['password'] = pwd
    15 
    16 #创建字典方法2
    17     # temp = {
    18     #     'username' : name,
    19     #     'email' : email,
    20     #     'password' : pwd
    21     # }
    22 
    23 #创建字典方法3
    24     # temp = {
    25     #     'username' : "alex-%d" %(i,),
    26     #     'email' : "email-%d" %(i,),
    27     #     'password' : "pwd-%d" %(i,)
    28     # }
    29 
    30 #方法4 直接在列表中定义字典,通过开始的while循环并在列表的尾部进行追加生成数据
    31     user_list.append({
    32         'username' : "alex-%d" %(i,),
    33         'email' : "email-%d" %(i,),
    34         'password' : "pwd-%d" %(i,)
    35     })
    36     i += 1
    37 
    38 while True: #循环让用户可以一直选择想看的数据,直到用户选择退出程序
    39     page = input('请选择页码(每页显示10条数据)')
    40     # page = page.strip() #去掉输入字符前后的空格
    41     # if page.isdecimal(): #判断输入的字符是否为十进制字符
    42     #     page = int(page)    #将输入的字符通过int格式化为数字
    43     #     break
    44     # else:
    45     #     print('请输入正确的数值页码!')    #如果输入的不为十进制字符,提示正确输入数字
    46     page = int(page)
    47     start = (page - 1) * 10 #定义在列表中取页码数字的起始位置数值
    48     end = page * 10 #定义在列表中取页码数字的结束位置数值
    49     current_page_user = user_list[start:end]    #指定用户实际输入页码后获取列表中数据的起始和结束位置
    50     for item in current_page_user:
    51         print(item)

    3-17-ti-random-check-code

     1 def check_code():
     2     import random
     3     checkcode = ''
     4     for i in range(4):
     5         current = random.randrange(0,4)
     6         if current != i:
     7             temp = chr(random.randint(65,90))
     8         else:
     9             temp = random.randint(0,9)
    10         checkcode += str(temp)
    11     return checkcode
    12 
    13 #随机生成验证码
    14 while True:
    15     code = check_code()
    16     print(code)
    17     inp = input('请输入验证码:')
    18     if inp.strip().lower() == code.strip().lower():
    19         print('验证码输入成功!')
    20         break
    21     else:
    22         print('验证码错误,请重新输入!')

    4-18-ti-replace-sensitive-word

    1 #针对苍老师,东京热进行敏感词替换过滤
    2 li = ['苍老师','东京热']
    3 msg = input('请小心输入内容:')
    4 for item in li:
    5     if item in msg:
    6         msg = msg.replace(item, '***')
    7 print(msg)

    5-12-ti-user-str-join-str

     1 #给定一个列表中有很多字符串,通过将列表中的字符串之间通过下划线进行连接:
     2 
     3 """
     4 #方法1:
     5 li = ['alex','eric','rain','y8ik0','ih8vbb']
     6 
     7 msg = ""
     8 is_first = True #设定第一次循环值为真
     9 for item in li:
    10     if is_first:    #第一次循环值为真时,tmp 的值等于item循环获取的值
    11         tmp = item
    12         is_first = False    #第一次item取完值后将is_fisrst修改为假,使tmp 不再直接等于item获得的值
    13     else:
    14         tmp = "_" + item    #字符串拼接
    15     msg += tmp  #字符串拼接
    16 print(msg)
    17 
    18 """
    19 
    20 """
    21 #方法2:
    22 #字符串,v = "xxx"      v.join(可迭代对象)
    23 #for 循环的,就是可迭代对象
    24 
    25 li = ['alex','eric','rain','y8ik0','ih8vbb']
    26 
    27 # v = "_"
    28 # result = v.join(li)
    29 # print(result)
    30 
    31 #方法2改进优化版:
    32 
    33 result = "_".join(li)
    34 print(result)
    35 
    36 """
    37 #方法3:王青帅版
    38 # 思路:根据列表索引取第0个值,插入到新的列表li1中,然后通过循环在新的列表li1的尾部通过取li列表长度循环取原li列表的值,并且在其前面添加下划线,追加在新列表元素的后面
    39 
    40 li = ['alex','eric','rain','y8ik0','ih8vbb']
    41 
    42 length = len(li)
    43 li1 = []
    44 li1.insert(0,li[0])
    45 i = 1
    46 while i <= length - 1:
    47     li1.append('_' + li[i])
    48     i += 1
    49 print(li1)
    50 
    51 a = ''
    52 for item in li1:
    53     a += item
    54 print(a)

    6-13-ti-addition-and-range

     1 #实现一个整数加法计算器,考虑到用户输入的字符是否是存在空格
     2 
     3 """
     4 sum = 0
     5 while True:
     6     content = input('请输入数字:')
     7     num = content.split('+')
     8     for i in num:
     9         i = i.strip()
    10         sum += int(i)
    11     print(sum)
    12 
    13 """
    14 #加法计算器方法2:-----只能是两个数字相加的计算器
    15 # 5 + 9
    16 content = input('请输入表达式:')
    17 #content.split('+') #以加号作为关键字符进行分割,可以将给定字符中所有有加号的地方进行分割
    18 #content.split('+',2)   #对给定字符中的前两个加号的地方进行分割,后面有加号的地方不分割
    19 a,b = content.split('+',1)  #对给定字符中的第一加号的地方进行分割,后面有加号的地方不分割
    20 a = int(a.strip())
    21 b = int(b.strip())
    22 print(a+b)
    23 
    24 
    25 
    26 """
    27 sum = 0
    28 content = input('请输入数字:')
    29 num = content.split('+')
    30 for i in num:
    31     i = i.strip()
    32     sum += int(i)
    33 print(sum)
    34 
    35 """
    36 
    37 ###########
    38 #对于有限的数据循环---->使用for ,range
    39 
    40 #对于死循环,永远无限循环----> while True
    41 
    42 
    43 ##############
    44 #   range ---用于生成连续的数字,列表类型
    45 #   xrange(),用于生成连续的数字,for 循环时才能使用,未知类型(生成器)
    46 
    47 # py2.7 中的range 是打印所有的数据,py2.7中有加强版的xrange,使用一个才生成一个数据
    48 #py3 中的range使用一个才生成一个数据,相当于py2.7中的xrange
    49 # py3 range = xrange(2.7)
    50 
    51 """
    52 
    53 #打印1-100所有数字,除了77之外
    54 
    55 for num in range(1,101):
    56     if num == 77:
    57         continue
    58     print(num)
    59 """
    60 
    61 """
    62 #打印1-100之间所有的奇数:
    63 
    64 for num in range(1,100,2):  #1,为起始数据,100为小于此数据,2相当于步长----默认不写,相当于步长为1
    65     print(num)
    66 """
    67 
    68 """
    69 #打印1-100之间所有的数,倒序显示:
    70 for num in range(100,0,-1):
    71     print(num)
    72 """
    73 
    74 """
    75 # 打印如下列表的索引序号:
    76 
    77 li = [11,22,33,44,55,66]
    78 #print(len(li))
    79 for num in range(0,len(li)):
    80     print(num)
    81 
    82 """
  • 相关阅读:
    Window_Open详解
    ajax josn 城市
    图片在容器里垂直居中
    Asp.Net 分段,断点,下载
    HTTP Range
    看得懂的看
    反射访问非公共成员
    C# Rijndael 大文件 分割/合并 并 加密
    在存储过程中如何实现将id列表字符串传入in()
    《植物大战僵尸》网页脚本版
  • 原文地址:https://www.cnblogs.com/mypython2018/p/9658407.html
Copyright © 2011-2022 走看看