1、编程实现:(1)从键盘输入两个100以内的正整数(2)先求出每个正整数的所有约数,这些约数可以用列表或集合存放(3)通过集合运算,求出这两个正整数的所有公约数,并找出它们的最大公约数(4)根据最小公倍数数等于两个正整数的乘积除以它们最大公约数的商这一结论,求出最小公倍数(例如,24与36的最小公倍数=24*36/12,而12就是24与36的最大公约数)。
要求程序能输出:(1)每个正整数的所有约数(2)两个正整数的最大公约数和最小公倍数。
def gys(a, b):
while b != 0:
a, b = b, a % b
return a
def gbs(a, b):
return (a * b) // gys(a, b)
n1=eval(input("请输入一个100以内的正整数:"))
n2=eval(input("请再输入一个100以内的正整数:"))
# 求最大公约数
result_gys = gys(n1, n2)
print(f"最大公约数是: {result_gys}")
# 求最小公倍数
result_gbs = gbs(n1, n2)
print(f"最小公倍数是: {result_gbs}")
2、请选择合适的数据结构(推荐使用列表或字典)存储如表1所示的好友通讯录信息,并通过字符串提示用户对好友通讯录信息进行增、删、改、查操作,输入数字1进行好友添加,输入数字2删除好友,输入数字3和4分别进行好友信息修改和查询,接着根据用户选择的方式进行针对性的好友信息管理。
def add_friend(information):
name = input("请输入好友姓名: ")
phone = input("请输入好友电话号码: ")
address = input("请输入好友地址: ")
information[name] = {"phone": phone, "address": address}
print("现在的通讯录是:")
print("{:<15} {:<15} {:<20}".format("好友姓名", "电话号码", "地址")) # 打印表头
for name, info in information.items():
print("{:<15} {:<15} {:<20}".format(name, info['phone'], info['address'])) # 打印每个人的信息
def delete_friend(information):
name = input("请输入要删除的好友姓名: ")
if name in information:
del information[name]
print("现在的通讯录是:")
print("{:<15} {:<15} {:<20}".format("好友姓名", "电话号码", "地址")) # 打印表头
for name, info in information.items():
print("{:<15} {:<15} {:<20}".format(name, info['phone'], info['address'])) # 打印每个人的信息
else:
print("该好友不存在!")
def update_friend(information):
name = input("请输入要修改信息的好友姓名: ")
if name in information:
phone = input("请输入新的电话号码: ")
address = input("请输入新的地址: ")
information[name] = {"phone": phone, "address": address}
print("现在的通讯录是:")
print("{:<15} {:<15} {:<20}".format("好友姓名", "电话号码", "地址")) # 打印表头
for name, info in information.items():
print("{:<15} {:<15} {:<20}".format(name, info['phone'], info['address'])) # 打印每个人的信息
else:
print("该好友不存在!")
def search_friend(information):
name = input("请输入要查询的好友姓名: ")
if name in information:
print(f"好友姓名: {name}")
print(f"电话号码: {information[name]['phone']}")
print(f"地址: {information[name]['address']}")
else:
print("该好友不存在!")
# 好友通讯录字典
information ={}
while True:
print("请选择要进行操作的对应数字:")
print("1-添加,2-删除,3-修改,4-查询,0-退出")
choice = input()
if choice == "1":
add_friend(information)
elif choice == "2":
delete_friend(information)
elif choice == "3":
update_friend(information)
elif choice == "4":
search_friend(information)
elif choice == "0":
print("谢谢使用,程序退出!")
运行结果: