强者的自我修养免安装绿色中文版
4.29G · 2025-11-02
本文将详细解析五个Python编程题目,涵盖日期时间处理、素数判断、完数查找、数字处理和组合数学等多个方面。
任务要求:定义一个DateTime变量,用来存放当前的系统时间,同时,将它格式化为字符串,格式为:年-月-日 小时:分钟:秒。
# 1、定义一个DateTime变量,用来存放当前的系统时间,同时,将它格式化为字符串,格式为:年-月-日 小时:分钟:秒。
import datetime
now = datetime.datetime.now()
print(now)
now_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(now_str)
2024-07-21 15:30:45.123456
2024-07-21 15:30:45
%Y:四位数的年份%m:两位数的月份%d:两位数的日期%H:24小时制的小时%M:分钟%S:秒任务要求:只能由1和它本身整除的整数被称为素数;若一个素数从左向右读与从右向左读是相同的数,则该素数为回文素数。编程求解2~1000内的所有回文素数。
# 2、只能由1和它本身整除的整数被称为素数;若一个素数从左向右读与从右向左读是是相同的数,则该素数为回文素数。编程求解2~1000内的所有回文素数。
'''
def is_prime(n):
if n < 2:
return False
for i in range(2,int(n**0.5) + 1):
if n % i == 0:
return False
return True
def is_palindrome(n):
return str(n) == str(n)[::-1]
for num in range(2,1001):
if is_prime(num) and is_palindrome(num):
print(num)
'''
2
3
5
7
11
101
131
151
181
191
313
353
373
383
727
757
787
797
919
929
√n,大大减少循环次数[::-1]快速反转字符串and连接,找出同时满足条件的数任务要求:若一个数刚好等于它的因子之和,那么这个数就称为"完数",例如6=1+2+3,6就是完数。编程打印1000以内的所有完数。
# 3、若一个数刚好等于它的因子之和,那么这个数就称为"完数",例如6=1+2+3,6就是完数。编程打印1000以内的所有完数。
'''
for num in range(1,1001):
factors = []
for i in range(1,num):
if num % i == 0:
factors.append(i)
if sum(factors) == num:
print(num)
'''
6
28
496
任务要求:从键盘输入一个不多于5位的正整数,判断其为几位数并将其逆序输出。
# 4、从键盘输入一个不多于5位的正整数,判断其为几位数并将其逆序输出。
num_input = input("请输入一个不多于5位的正整数:")
# 输入验证
if not num_input.isdigit():
print("输入错误:请输入数字!")
elif len(num_input) > 5:
print("输入错误:数字不能超过5位!")
else:
num = int(num_input)
print(f"这是{len(num_input)}位数")
print(f"逆序输出:{num_input[::-1]}")
请输入一个不多于5位的正整数:12345
这是5位数
逆序输出:54321
请输入一个不多于5位的正整数:12
这是2位数
逆序输出:21
isdigit()确保输入为数字,检查长度不超过5位[::-1]轻松实现逆序任务要求:有4个数字:1、2、3、4,其能组成多少组三位数?要求各数位间数字不能相同,比如112不符合要求,123则符合。
# 5、有4个数字:1、2、3、4,其能组成多少组三位数?要求各数位间数字不能相同,比如112不符合要求,123则符合。
print("由1、2、3、4组成的不重复三位数:")
count = 0
results = []
for i in range(1, 5):
for j in range(1, 5):
for k in range(1, 5):
if i != j and i != k and j != k:
number = i * 100 + j * 10 + k
count += 1
results.append(number)
print(number, end=" ")
print(f"n总共能组成{count}个不重复的三位数")
print(f"所有组合:{results}")
由1、2、3、4组成的不重复三位数:
123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432
总共能组成24个不重复的三位数
所有组合:[123, 124, 132, 134, 142, 143, 213, 214, 231, 234, 241, 243, 312, 314, 321, 324, 341, 342, 412, 413, 421, 423, 431, 432]
通过这五个题目的实践,我们掌握了:
这些题目涵盖了编程中常见的基础算法和数学问题,展现了Python在解决此类问题时的简洁性和高效性。