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('非法操作')
      
  • 相关阅读:
    HDU4366 Successor 线段树+预处理
    POJ2823 Sliding Window 单调队列
    HDU寻找最大值 递推求连续区间
    UVA846 Steps 二分查找
    HDU3415 Max Sum of MaxKsubsequence 单调队列
    HDU时间挑战 树状数组
    UVA10168 Summation of Four Primes 哥德巴赫猜想
    UESTC我要长高 DP优化
    HDUChess 递推
    HDU4362 Dragon Ball DP+优化
  • 原文地址:https://www.cnblogs.com/maqiaobin/p/11447318.html
Copyright © 2011-2022 走看看