'''
二、作业(每一道题封装成一个函数)
1、输出99乘法表,结果如下:(提示嵌套for循环,格式化输出)
2、有1 2 3 4 这四个数字,设计程序计算能组成多少个互不相同且无重复数字的3位数?分别是什么?
3、通过函数实现一个计算器,运行程序分别提示用户输入数字1,数字2,
然后再提示用户选择 : 加【1】减【2】乘【3】除【4】,根据不同的选择完成
不同的计算 然后返回结果。
4、学习控制流程时,我们讲了一个登录的案例,现在要求大家通过代码实现一个注册的流程,
基本要求:
1、运行程序,提示用户,输入用户名,输入密码,再次确认密码。(提示:所有的用户保存在一个列表中,每个用户的数据保存位一个字典)
2、判读用户名有没有被注册过,如果用户名被注册过了,那么打印结果该用户名已经被注册(上课讲过)。
2、判读用户名有没有被注册过,如果用户名被注册过了,那么打印结果该用户名已经被注册(上课讲过)。
'''
# 第一题
def home_work1():
# range函数是左闭右开
for i in range(1, 10):
for j in range(1, i + 1):
# :<4代表左对齐,end="",取消换行
print("{} * {} = {:<4}".format(j, i, i * j), end="")
# 代表换行
print()
home_work1()
# 第二题
def home_work2():
count = 0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i != j and j != k and i != k:
count += 1
print("{}{}{}".format(i,j,k))
print("一共有{}多少个".format(count))
home_work2()
# 第三题
def home_work3():
a = int(input("请输入数字:1或者2"))
b = int(input("请输入数字:1或者2"))
select = input("请选择:加【1】减【2】乘【3】除【4】")
if select == "1":
return a + b
elif select == "2":
return a - b
elif select == "3":
return a * b
elif select == "4":
return a / b
else:
print("没有此选项!")
# 将返回的结果进行接收,并打印到控制台,语法中有return必须要接收返回数据
res = home_work3()
print(res)
# 第四题
users = [{"user": "hc", "password": "123"}]
def home_work4():
while True:
# 注册功能
username = input("请输入用户名:") # 输入账号
for user in users: # 遍历所有账号,判断账号是否存在
if username == user["user"]:
print("该客户已经被注册过") # 账号已存在,请重新输入
break
else:
password1 = input("请输入密码:") # 输入密码
password2 = input("请再次确认密码:") # 再次输入密码
if password1 != password2:
print("两次输入密码不一致,请重新输入!") # 账号和密码不一致,请重新输入
continue
# 账号不存在,密码不重复,则添加到账户列表中
users.append({"user": username, "password": password2})
# user["username"] = username
# user["password"] = password1
print("注册成功!")
print(users)
break
home_work4()