Python日常练习题

第三天练习题:

  1. 开发敏感词过滤系统,提示用户输入内容,如果用户输入内容包含特殊的字符:eg:如苍井空,则将内容替换为***
    • sensitive = ['东京热','苍井空','饭岛爱','小泽玛丽亚','大傻逼']
      while True:
          word = str(input("请输入内容:>>"))
      
          for i in sensitive:
              word = word.replace(i, '***')
          print(word)
      View Code
  2. 制作表格,循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有
    # 前20个字符有效,如果用户输入了q或者Q表示不再继续输入),将用户输入的内容已表格形式打印

    title = "名字\t密码\t邮箱\n"
    while True:
    
        name = str(input('请输入你的大名:'))
        if name.casefold() == 'q':
            print('拜拜')
            break
        pwd = str(input('请输入你的密码:'))
        if pwd.casefold() == 'q':
            print('拜拜')
            break
        email = str(input('请输入你的邮箱: '))
        if email.casefold() == 'q':
            print('拜拜')
            break
        Name = name[0:20]
        Password = pwd[0:20]
        Email = email[0:20]
        line = "{0}\t{1}\t{2}\n".format(Name,Password,Email)   #格式化输出
        table = title + line
        out = table.expandtabs(30)  #将\t tab符扩展到30位
        print(out)
    View Code

     

 

第二天练习题:

  1. 练习题,元素分类:有如下值集合:v1 = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。即: {'k1': 大于66的所有值, 'k2': 小于66的所有值};v2 = {'k1': [],'k2':[] }
     1 v1 = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
     2 v2 = {
     3     'k1': [],
     4     'k2': [],
     5 }
     6 for i in v1:
     7     if i <= 66:
     8         v2['k1'].append(i)
     9     else:
    10         v2['k2'].append(i)
    11 
    12 print(v2)
    View Code

     

  2. 要求用户输入总资产,例如:2000;显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
     1 goods = [
     2     { 'name': '饮水机', 'price': 2000 },
     3     { 'name': '足浴盆', 'price': 299 },
     4     { 'name': '打印机', 'price': 3999 },
     5     { 'name': '碎纸机', 'price': 599 },
     6 ]
     7 
     8 shop_cart = []
     9 asset = int(input('请输入你的总资产'))
    10 
    11 #两种实现方法:方法一:通过输入商品编号来实现。
    12 for i in enumerate(goods):
    13     print(i)
    14 
    15 s = int(input('请输入商品编号:'))
    16 if asset >= goods[s]['price']:
    17     print('添加购物车成功:',goods[s]['name'])
    18     shop_cart.append(goods[s]['name'])
    19 else:
    20     print('添加购物车失败,资产不足')
    21 
    22 print(shop_cart)
    23 
    24 #方法二:通过输入商品名来实现。
    25 # for item in goods:
    26 #     print('目前可以购买的商品',item['name'])
    27 #
    28 # shop = input('请输入你想要购买的商品名字')
    29 # for item in goods:
    30 #     if shop in item['name'] and asset >= item['price']:
    31 #         shop_cart.append(shop)
    32 #     else:
    33 #         print('暂无该商品或资产不足')
    34 #         break
    35 #
    36 # print(shop_cart)
    View Code

     

  3. 用户交互,显示省市县三级联动的选择,额外增加一个可以增删改查相关省份的功能
     1 province = {
     2     '河北': {
     3         '保定': ['蓉城','雄县','白沟','安新'],
     4         '石家庄': ['藁城','西柏坡','赵县','冀州','高邑'],
     5         '邢台': ['桥东区','桥西区','开发区','任县'],
     6     },
     7     '河南': {
     8         '郑州': ['巩义','中原','新政','登封'],
     9         "开封": ['兰考','通许','杞县'],
    10         '洛阳': ['孟津','新安','汝阳','嵩县'],
    11     },
    12     '湖北': {
    13         '武汉': ['武昌','汉阳','江汉','洪山'],
    14         '襄阳': ['襄城','樊城','襄州'],
    15         '黄冈': ['红安','罗田','英山','黄梅'],
    16     },
    17 }
    18 
    19 pro_name = input('请输入想要查看省的名字')
    20 
    21 
    22 while True:
    23     if pro_name in province.keys():
    24         for item in province[pro_name].keys():
    25             print(item)
    26 
    27         city_name = input('还想要在查看城市列表吗?')
    28         if city_name in province[pro_name].keys():
    29             for item in province[pro_name][city_name]:
    30                 print(item)
    31         break
    32     else:
    33         print('输入的省名不正确,请重新输入')
    34         pro_name = input('请输入想要查看省的名字')
    View Code

     

 

 

第一天练习题:

  1. 求1-100所有数的和
    • 1 # !求1-100所有数的和
      2 
      3 i = 1
      4 value = 0
      5 while i < 101:
      6     value += i
      7     i += 1
      8 
      9 print(value)
  2. 求100以下基数之和。
    •  1 # !求100以下奇数的和
       2 
       3 i = 1
       4 value = 0
       5 while i < 101:
       6     if i % 2 ==1:
       7         value = value + i
       8     i += 1
       9 
      10 print(value)
  3. 求100以下偶数之和。
    •  1 # !求100以下偶数的和
       2 
       3 i = 1
       4 value = 0
       5 
       6 while i < 101:
       7     if i % 2 == 0:
       8         value += i
       9     i += 1
      10 
      11 print(value)]
  4. 求1-2+3-4+6。。。。+99所有数的和。
    •  1 # !求1-2+3-4+5-6....+99所有数的和
       2 
       3 i = 1
       4 value = 0
       5 
       6 while i < 100:
       7     if i % 2 == 1:
       8         value += i
       9     elif i % 2 == 0:
      10         value -= i
      11     i += 1
      12     
      13 print(value)
      View Code
  5. 使用while循环输出:1,2,3,4,5,6,8,9,10
  •  1 # 使用while循环输出:1,2,3,4,5,6,8,9
     2 
     3 i = 1
     4 
     5 while i < 10:
     6     if i == 7:
     7         i += 1
     8         continue
     9     i += 1
    10     print(i)
    View Code
从文件A中读取数据,格式化成数组字典输出。然后再格式话成初始文件保存到另外一个文件中。
  •  1 # 从文件A中读取数据,格式化成数组字典输出。然后再格式话成初始文件保存到另外一个文件中。
     2 '''
     3 zhang|123123|0
     4 zhao|abcabc|0
     5 wang|abc123|0
     6 li|a!b@c#|0
     7 '''
     8 #打开文件:db。
     9 file = open('db','r')
    10 #读取db文件中的数据,并赋值给变量 data。
    11 data = file.read()
    12 file.close()
    13 #定义一个空的  usr_account_list
    14 usr_account_list = []
    15 #去除换行符并复制给user_info_list. 将user_info_list 变成一个列表。
    16 usr_info_list = data.split('\n')
    17 for item in usr_info_list:
    18     print(item)
    19     temp = item.split('|')
    20     v = {     #定义一个字典
    21         'name': temp[0],
    22         'passWd': temp[1],
    23         'times': temp[2],
    24     }
    25     usr_account_list.append(v)   #将字典嵌套到列表中,并输出
    26 print(usr_account_list)
    27 
    28 ################################
    29 #将 usr_account_list 再格式回去并重新保存到另外的文件中。
    30 
    31 file2 = open('account','w')
    32 
    33 for item in usr_account_list:
    34     file2.write(str(item['name']) + '|' + str(item['passWd']) + '|' + str(item['times'])+ '\n')
    35 
    36 file2.close()
    View Code

     

 

转载于:https://www.cnblogs.com/one-board/p/zhangzhihui.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值