程序一
实验源代码:
# 获取用户输入的三个整数
num1 = int(input("请输入第一个整数: "))
num2 = int(input("请输入第二个整数: "))
num3 = int(input("请输入第三个整数: "))
# 将三个整数放入一个列表
numbers = [num1, num2, num3]
# 对列表进行排序
numbers.sort()
# 输出排序后的列表
print("按升序排列的整数是:", numbers)
运行结果测试:
程序二:
实验源代码:
def is_leap_year(year):
"""判断是否为闰年"""
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
return True
else:
return False
def main():
year = int(input("请输入年份: "))
month = int(input("请输入月份(1-12): "))
# 判断月份是否有效
if month < 1 or month > 12:
print("无效的月份,请输入1到12之间的数字。")
return
# 定义大月和小月
big_months = {1, 3, 5, 7, 8, 10, 12} # 大月集合
small_months = {4, 6, 9, 11} # 小月集合
# 判断月份天数
if month in big_months:
print(f"{month}月是大月,有31天。")
elif month in small_months:
print(f"{month}月是小月,有30天。")
elif month == 2: # 特殊处理2月份
if is_leap_year(year):
print(f"{year}年是闰年,2月有29天。")
else:
print(f"{year}年是平年,2月有28天。")
else:
# 实际上,由于我们已经检查了1到12,所以这里不会执行
print("不应该发生这种情况,月份应该在1到12之间。")
# 运行主函数
if __name__ == "__main__":
main()
运行结果测试:
程序三:
实验源代码:
def is_prime(n):
"""判断一个数是否为素数"""
if n <= 1:
return False
if n <= 3:
return True
if n % 2 == 0 or n % 3 == 0:
return False
i = 5
while i * i <= n:
if n % i == 0 or n % (i + 2) == 0:
return False
i += 6
return True
def prime_factors(n):
"""找到并返回一个数的所有素数因子"""
factors = []
# 处理2的因子
while n % 2 == 0:
factors.append(2)
n //= 2
# 处理奇数因子
for i in range(3, int(n**0.5) + 1, 2):
while n % i == 0:
if is_prime(i):
factors.append(i)
n //= i
# 如果n本身是一个素数且大于2
if n > 2:
factors.append(n)
return factors
def main():
num = int(input("请输入一个整数: "))
factors = prime_factors(num)
print(f"{num}的素数因子是: {factors}")
# 运行主函数
if __name__ == "__main__":
main()
运行结果测试: