系统注册和模拟登录,将用户写成字典形式,可以试试如下代码:
users={'John':'Abc12345','Marry':'Mar11111','Tommy':'To123456'}
t=input('choice:register or login(r/l):')
if t=='r':
name=input('username:')
if name in users:
print('the user already exists!')
else:
psw=input('input password(numbers or characters):')
if all([x.isalnum() for x in psw]) and len(psw)==8:
users.update({name:psw})
else:
print('invalid password.')
if t=='l':
name=input('name:')
psw=input('password:')
if name in users:
if psw==users[name]:
print('login success!')
else:
print('password is wrong')
else:
print('Not found.')
如有帮助,请点采纳。
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
print('Python Supermarket checkout system')
name = input('name:')
price = float(input("price:"))
number = float(input("number:"))
due = price * number
print(f'The amount due:{due:.2f}')
rd = float(input("official receipts:"))
ch = rd - due*100//10/10
print(f'change:{ch:.2f}')
li = ["非常满意","一般","满意","不满意","一般","满意","不满意","非常满意","一般","满意","满意","一般","满意","不满意","一般","满意","不满意","一般","满意","不满意","非常满意","一般","满意","不满意",]
d = {}
for v in li:
d[v] = d.get(v,0) + 1
for k,v in d.items():
print(f"{k}出现{v}次")
print(f"出现次数就多的是", max(d.keys(), key=lambda x: d[x]))
print(",".join(li))
users = {'John':'Abc12345','Marry':'Mar11111','Tommy':'To123456'}
while True:
print("菜单: 1.注册 2.登录 3.显示用户信息 4.退出")
n=input("请输入1-4:")
if n=='1':
name = input('请输入用户名:')
if name in users:
print("该用户名已经存在!用户名不能重复!")
continue
password = input('请输入密码:')
if not (password.isalnum() and len(password)==8):
print("密码不符合要求,密码要求8位,包括英文大小写和数字")
continue
print("用户注册成功")
users[name] = password
elif n=='2':
name = input('请输入用户名:')
if name not in users:
print("该用户名不存在!")
continue
password = input('请输入密码:')
if users[name] != password:
print("密码不正确")
continue
print("登录成功")
break
elif n=='3':
for k,v in users.items():
print(f'用户名:{k}\t\t密码:{v}')
else:
break