''' 二、作业(每一道题封装成一个函数) 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()