zoukankan      html  css  js  c++  java
  • day09作业

    1. 简述定义函数的三种方式

      空函数 有参函数 无参函数

    2. 简述函数的返回值

      1. 如果函数没有返回值,默认返回None
      2. 函数可以通过return返回出返回值
      3. return可以终止函数
      4. return可以返回多个值,以列表的形式存储
    3. 简述函数的参数

      1. 形参:具有描述意义,用来接收实参

        位置形参:从左到右一个一个写过去,就叫做位置形参

        默认形参:给位置形参一个默认值,让他成为默认形参

        默认形参必须放在最后面

      2. 实参:具有实际意义,具体的一个值传给形参

        位置实参:从左到右一个一个写过去,就叫做位置实参

        关键字实参:位置实参加上默认值,然后按照位置形参名传值

        关键字实参也必须放在最后

    4. 编写注册函数

      1. 将用户信息保存到文件内,用户信息可保存为nick:123|sean:456|tank:789

        def register():
            print('注册>>>>')
            username_inp=input('请输入用户名:')
            pwd_inp =input('请输入密码:')
            with open('register.txt','a',encoding='utf8')as fa:
                fa.write(f'{username_inp}:{pwd_inp}|')
                fa.flush()
            print('注册成功')
        
        register()
        
    5. 编写登录函数

      1. 从文件内读取用户信息进行身份识别

        def login():
            print('登录>>>>')
            with open('register.txt','r',encoding='utf8')as fr:
                date=fr.read()
                date_list=date.split(':')
                username,pwd=date_list[0],date_list[1]
                username_inp = input('请输入用户名:')
                pwd_inp =input('请输入密码:')
                if username_inp==username and pwd_inp==pwd:
                    print('登录成功')
                else:
                    print('用户名或密码错误')
        
        login()
        
    6. 可仿造 https://www.cnblogs.com/nickchen121/p/11070005.html 编写购物车系统(选做)

      import os
      
      product_list = [
          ['Iphone7', 5800],
          ['Coffee', 30],
          ['疙瘩汤', 10],
          ['Python Book', 99],
          ['Bike', 199],
          ['ViVo X9', 2499],
      ]
      
      shopping_cart = {}
      current_userinfo = []
      
      db_file = r'db.txt'
      
      while True:
          print('''
      登陆
      注册
      购物
          ''')
      
          choice = input('>>: ').strip()
      
          if choice == '1':
              #1、登陆
              tag = True
              count = 0
              while tag:
                  if count == 3:
                      print('尝试次数过多,退出。。。')
                      break
                  uname = input('用户名:').strip()
                  pwd = input('密码:').strip()
      
                  with open(db_file, 'r', encoding='utf-8') as f:
                      for line in f:
                          line = line.strip('
      ')
                          user_info = line.split(',')
      
                          uname_of_db = user_info[0]
                          pwd_of_db = user_info[1]
                          balance_of_db = int(user_info[2])
      
                          if uname == uname_of_db and pwd == pwd_of_db:
                              print('登陆成功')
      
                              # 登陆成功则将用户名和余额添加到列表
                              current_userinfo = [uname_of_db, balance_of_db]
                              print('用户信息为:', current_userinfo)
                              tag = False
                              break
                      else:
                          print('用户名或密码错误')
                          count += 1
      
          elif choice == '2':
              uname = input('请输入用户名:').strip()
              while True:
                  pwd1 = input('请输入密码:').strip()
                  pwd2 = input('再次确认密码:').strip()
                  if pwd2 == pwd1:
                      break
                  else:
                      print('两次输入密码不一致,请重新输入!!!')
      
              balance = input('请输入充值金额:').strip()
      
              with open(db_file, 'a', encoding='utf-8') as f:
                  f.write('%s,%s,%s
      ' % (uname, pwd1, balance))
      
          elif choice == '3':
              if len(current_userinfo) == 0:
                  print('请先登陆...')
              else:
                  #登陆成功后,开始购物
                  uname_of_db = current_userinfo[0]
                  balance_of_db = current_userinfo[1]
      
                  print('尊敬的用户[%s] 您的余额为[%s],祝您购物愉快' % (uname_of_db, balance_of_db))
      
                  tag = True
                  while tag:
                      for index, product in enumerate(product_list):
                          print(index, product)
                      choice = input('输入商品编号购物,输入q退出>>: ').strip()
                      if choice.isdigit():
                          choice = int(choice)
                          if choice < 0 or choice >= len(product_list): continue
      
                          pname = product_list[choice][0]
                          pprice = product_list[choice][1]
                          if balance_of_db > pprice:
                              if pname in shopping_cart:  # 原来已经购买过
                                  shopping_cart[pname]['count'] += 1
                              else:
                                  shopping_cart[pname] = {
                                      'pprice': pprice,
                                      'count': 1
                                  }
      
                              balance_of_db -= pprice  # 扣钱
                              current_userinfo[1] = balance_of_db  # 更新用户余额
                              print(
                                  "Added product " + pname +
                                  " into shopping cart,[42;1myour current balance "
                                  + str(balance_of_db))
      
                          else:
                              print("买不起,穷逼! 产品价格是{price},你还差{lack_price}".format(
                                  price=pprice, lack_price=(pprice - balance_of_db)))
                          print(shopping_cart)
                      elif choice == 'q':
                          print("""
                          ---------------------------------已购买商品列表---------------------------------
                          id          商品                   数量             单价               总价
                          """)
      
                          total_cost = 0
                          for i, key in enumerate(shopping_cart):
                              print('%22s%18s%18s%18s%18s' %
                                    (i, key, shopping_cart[key]['count'],
                                     shopping_cart[key]['pprice'],
                                     shopping_cart[key]['pprice'] *
                                     shopping_cart[key]['count']))
                              total_cost += shopping_cart[key][
                                  'pprice'] * shopping_cart[key]['count']
      
                          print("""
                          您的总花费为: %s
                          您的余额为: %s
                          ---------------------------------end---------------------------------
                          """ % (total_cost, balance_of_db))
      
                          while tag:
                              inp = input('确认购买(yes/no?)>>: ').strip()
                              if inp not in ['Y', 'N', 'y', 'n', 'yes', 'no']:
                                  continue
                              if inp in ['Y', 'y', 'yes']:
                                  # 将余额写入文件
      
                                  src_file = db_file
                                  dst_file = r'%s.swap' % db_file
                                  with open(src_file,'r',encoding='utf-8') as read_f,
                                      open(dst_file,'w',encoding='utf-8') as write_f:
                                      for line in read_f:
                                          if line.startswith(uname_of_db):
                                              l = line.strip('
      ').split(',')
                                              l[-1] = str(balance_of_db)
                                              line = ','.join(l) + '
      '
      
                                          write_f.write(line)
                                  os.remove(src_file)
                                  os.rename(dst_file, src_file)
      
                                  print('购买成功,请耐心等待发货')
      
                              shopping_cart = {}
                              current_userinfo = []
                              tag = False
      
                      else:
                          print('输入非法')
          elif choice == 'q':
              break
      
          else:
              print('非法操作')
      
  • 相关阅读:
    GRE3000速记 :苏琪与爱马仕 05
    GRE3000速记 :苏琪与爱马仕 04
    GRE3000速记 :苏琪与爱马仕 03
    GRE3000速记 :苏琪与爱马仕 02
    GRE3000速记 :苏琪与爱马仕 11
    你知道如何安全正确的关闭线程池吗?
    你知道如何安全正确的关闭线程池吗?
    WCF配置后支持通过URL进行http方式调用
    WCF配置后支持通过URL进行http方式调用
    MyCat教程【简单介绍】
  • 原文地址:https://www.cnblogs.com/maqiaobin/p/11447318.html
Copyright © 2011-2022 走看看