函数
函数
定义函数的三种方式
#空函数
def func_1():
pass
#无参函数
def func_2():
print('1')
#有参函数
def func_3(x):
print(x)
简述函数的返回值
# 如果函数没有返回值,默认返回None
# 1.None就是返回值(使用函数后拿到的一个结果)
# 2. 函数可以通过return返回出返回值
# 3. return 可以终止函数
# 4. return 可以返回多个值,以列表形式存储
简述函数的参数
# # def compare(num1, num2): # 形(形式)参:一般具有描述意义,毫无作用(接收实参) --》 变量名(接收变量值)
# # compare(80, 140) # 实(实际)参 :具有实际的意义,具体的一个值(传给形参) --》 变量值
# ## 形参
#
# ### 位置形参: 从左到右一个一个写过去,就叫做位置形参
#
# ### 默认(默认值)形参:给位置形参一个默认值,让他成为默认形参,以后调用不需要为他船只,但是你为他传值的话,他也会接收
# # 默认参数必须得放在最后面(位置参数后面)
# def compare(num1, num2=140): # 形(形式)参:一般具有描述意义,毫无作用(接收实参) --》 变量名(接收变量值)
# compare(80, 60) # 实(实际)参 :具有实际的意义,具体的一个值(传给形参) --》 变量值
# # compare(180) # 实(实际)参 :具有实际的意义,具体的一个值(传给形参) --》 变量值
#
# ## 实参
#
# ### 位置实参:从左到右一个一个写过,就叫做位置实参,(有多少个位置形参,就必须有多少个位置实参,从左到右依次传值)
#
#
# ### 关键字实参:位置实参加上默认值,然后按照位置形参名传值
# # 关键字实参也必须在位置参数后面
# def compare2(num1, num2): # 形(形式)参:一般具有描述意义,毫无作用(接收实参) --》 变量名(接收变量值
# res = compare4(4, 0,num4=2, num3=3, ) # 4 0 3 2 # 关键字参数,按照位置形参名给值,这个一般用于参数过多(一般建议函数参数不超过3个)
编写注册函数
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()
编写登陆函数
def login(name, pwd):
with open('user_info.txt','r',encoding = 'utf-8')as f:
lis = f.read()
lis = lis.split('|')
print(lis, type(lis))
for i in lis:
i = i.split(':')
if i[0] == name and i[1] == pwd:
return '登陆成功!'
调用函数
#msg = register(name, pwd)
msg = login(name, pwd)
print(msg)
购物车系统
import os
product_list = {"coffee":20,"beer":15,"cola":10}
user_list = []
error = 0
sum = 0
buy_list = {"coffee":0,"beer":0,"cola":0}
while True:
with open("user.txt", 'r', encoding='utf-8') as f:
for line in f:
data = line.strip()
data = data.split('|')
user_list.append(data)
choise = input("""请输入您的选择:
1:登陆
2:注册
3:退出
""").strip()
if choise == "1":
name = input("请输入您的账号: ").strip()
pwd = input("请输入您的密码: ").strip()
for list in user_list:
if list[0] == name and list[1] == pwd:
print("登陆成功!")
salary = input("请输入您的工资: ").strip()
salary = int(salary)
print(product_list)
while True:
buy = input("""
请输入您要购买的商品编号:
1:coffee
2:beer
3:cola
"""
).strip()
if buy == "1":
buy_list['coffee']+=1
print(buy_list)
elif buy == "2":
buy_list['beer'] += 1
print(buy_list)
elif buy == "3":
buy_list['cola'] += 1
print(buy_list)
elif buy == "ok":
print("选择商品完成!")
sum = buy_list["coffee"]*20 + buy_list["beer"]*15 + buy_list["cola"]*10
print(buy_list)
print("总金额: ",sum)
if salary >= sum:
salary -= sum
print("购买成功!")
print("工资余额",salary)
else:
print("余额不足,支付失败!")
break
else:
print("对不起,没有这样商品!")
continue
else:
error+=1
if error == 3:
break
elif choise == '2':
new_name = input("请输入您的账号: ").strip()
new_pwd = input("请输入您的密码: ").strip()
re_pwd = input("请再次输入密码: ").strip()
if new_pwd == re_pwd:
with open("user.txt",'a+t', encoding='utf-8') as f:
f.write(new_name+"|"+new_pwd+'\n')
else:
print("两次密码不一致!")
elif choise == '3':
print("退出系统!")
break
else:
print("对不起,没有您选择的功能!")
浙公网安备 33010602011771号