9월 2일 작업

1. 정의 방식으로 기능 :

#空函数
def func_one():
    pass
#无参函数
def func_two():
    print('t')
#有参函数
def func_three(x):
    print(x)
 

2. 함수의 리턴 값 :

-1. 함수가 리턴 없음 값을 리턴하지 않으면

결과를 반환 할 수 함수를 리턴 -2

-3.return 또한 기능의 실행을 종료 할 수있다

-4.return 여러 값을 반환 할 수있다 (이 목록의 복귀 형)

3. 함수 매개 변수 :

1. 변수 : 설명적인 의미는 효과가 없다 (수신 인수) - (변수 명)

2. 인수 실무 감각 특정 값 (파라미터 전달) - (변수 값)

3. 위치 매개 변수 :

1. 위치 매개 변수 : 과거에 기록 된 왼쪽에서 오른쪽으로, 위치 매개 변수라고

2. 위치 인수 : 왼쪽에서 오른쪽으로 기록 된이 위치 인수라고합니다 (위치 매개 변수의 수를이 값으로 왼쪽에서 오른쪽으로, 인수의 수를 배치 할 필요가있다)

4. 키워드 인자 :

--- (실제 참여 기본 이름의 위치는 위치 모양의 기준값을 따르도록)

주의 사항 :

1. 키워드 인수해야 나중에 위치 매개 변수

2. 기본 파라메터가 최후 방에 배치되는 한 (후방 위치 파라미터)

기본 매개 변수 :

1. 기본 (기본값) 매개 변수 : 기본 값으로 위치 매개 변수, 그 기본 매개 변수가되도록, 그는 또한받는 선박 후 그에게 전화해야하지만 그 값을 전달하지 않습니다

5. 등록 기능을 적는다

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

def register(name, pwd):
    with open('user_info.txt', 'a', encoding = 'utf-8')as f:
        f.write(f'|{name}:{pwd}')
        f.flush()
        return '注册成功!'
name = input("请输入您的用户名: ").strip()
pwd = input("请输入您的密码: ").strip()
        

6. 함수를 작성하려면 로그인 :

#从文件内读取用户信息进行身份识别
def login(name,password):
    with open('user_info.txt','a',encoding='utf-8') as fr:
        x_list=f.read()
        x_list=x_list.split('|')
        
        for i in x_list:
            i =i.split(':')
            if name ==i[0] and password==i[1]:
                return '登陆成功!'
            else:
                return '用户名或密码错误!'
               

7. 쓰기 쇼핑 카트 시스템 :

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('\n')
                    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\n' % (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('\n').split(',')
                                        l[-1] = str(balance_of_db)
                                        line = ','.join(l) + '\n'

                                    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('非法操作')

추천

출처www.cnblogs.com/shaozheng/p/11448304.html