• assignment of day nine


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

    1.空函数:用于占位

    2.有参函数:有参数的函数

    3.无参函数:没有参数的函数

    二.简述函数的返回值

    1.如果函数没有返回值,默认返回None

    2.函数可以通过return返回出返回值

    3.return可以终止函数

    4.return可以返回多个值,以列表形式储存

    5.内置方法

    三.简述函数的参数

    1.形参:一般具有描述的意义,毫无作用(定义的时候写在括号里的)

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

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

    位置实参:从左到右一个一个写过,就叫做位置实参,(有多少个位置形参,就必须有多少个位置实参,从左到右依次传值)

    四.编写注册函数

    def register():
        username_inp = input("请输入你的用户名:")
        if ':' in username_inp:
            print('输入错误,我必须选中一个目标')
        pswd_inp = input("请输入你的密码:")
        with open('user_info.txt', 'a', encoding='utf8') as fa:
            fa.write(f'{username_inp}:{pswd_inp}')
            print('保存成功')
    

    五.编写登录函数

    def login():
        with open('user_info.txt', 'r', encoding='utf8') as fr:
            data=fr.read()
            data_split=data.split(':')
        username = data_split[0]
        pswd = data_split[1]
        username_inp=input("请输入账号")
        pswd_inp=input('请输入密码')
        if username == username_inp and pswd == pswd_inp:
            print("wdnmd")
        else:
            print("wtf")
    

    六.可仿造 https://www.cnblogs.com/nickchen121/p/11070005.html 编写购物车系统

    import os #join os
    product_list=[    #make a product list
        ['watermelon',80],
        ['starbucks',30],
        ['dogfoods',200],
        ['human',5],
        ['nitendoswitch',2400],
        ['shoppingcart',10],
    ]
    
    shopping_cart={}    #define a shoppingcart dictionary
    current_userinfo={}  #define current_userinfo dictionary
    
    db_file=r'db.txt'
    
    while True:    #永久循环
        print('''
        press 1 to login 
        press 2 to register
        press 3 to shopping
        ''')
        choice=input('>>:').strip()
        if choice=="1":
            #1.login
            tag=True
            count=0
            while tag:
                if count==3:
                    print("you've tried too much please logout")
                    break  #if you made mistakes for 3times you i'll be kicked out
                uname=input('username:').strip()
                pswd=input('password:').strip()#delete the blank
    
                with open(db_file,'r',encoding='utf-8')as f:
                    for line in f: #reading the file in db
                        line = line.strip('
    ')
                        user_info=line.split(',')
    
                        uname_of_db=user_info[0]
                        pswd_of_db=user_info[1]
                        balance_of_db=int(user_info[2])
    
                        if uname==uname_of_db and pswd==pswd_of_db:
                            print('login succeed')
    
                        #登陆成功则经用户名和余额添加到列表
                        current_userinfo=[uname_of_db,balance_of_db]
                        print('userinfo is:',current_userinfo)
                        tag=False
                        break
                    else:
                        print('usename or password fault!')
                        count=+1
    
        elif choice=='2':
            uname=input('please enter username:').strip()
            while True:
                pswd1=input("please enter your password:").strip()
                pswd2=input("please confirm your password:").strip()
                if pswd2==pswd1:
                    break
                else:
                    print('than was different passwords,please enter again!!!')
    
            balance=input('please enter the money you would like to recharge:').strip()
            with open(db_file,"a",encoding='utf-8')as f:
                f.write('%s,%s,%s
    ' % (uname, pswd1, balance))
    
        elif choice=='3':
            if len(current_userinfo)==0:
                print('please login first')
            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('enter the number of goods,enter q to quit>>:').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:#if you've already bought
                                shopping_cart[pname]['count']+=1#add one more same goods
                            else:
                                shopping_cart[pname]={
                                    'pprice':pprice,
                                    'count':1
                                }
    
                            balance_of_db-=pprice#reduce your money
                            current_userinfo[1]=balance_of_db
                            print(
                                "Added product " + pname +
                                " into shopping cart,[42;1myour current balance "
                                + str(balance_of_db))
    
                        else:
                            print("you can't afford it,you son of bitch,product price is {price},you need {lack_price}more".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('confirm(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='utf8')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 succeed,please waiting for delivery')
    
                                shopping_cart={}
                                current_userinfo=[]
                                tag=False
                        else:
                            print('illegal input')
                    elif choice =='q':
                        break
                    else:
                        print('illegal operate')
    

  • 相关阅读:
    如何配置寄存器
    逻辑分析仪的使用
    CAN中如何计算波特率并配置波特率
    led不同颜色的驱动电压和驱动电流
    ULINK2配置
    电机加减速转动
    2N7002
    未添加时钟文件产生报错
    烟雾传感器
    Strategy 设计模式 策略模式 超靠谱原代码讲解
  • 原文地址:https://www.cnblogs.com/jimGraymane/p/11448191.html
Copyright © 2020-2023  润新知