案例一: 定义一个DateTime变量,用来存放当前的系统时间,同时,将它格式化为字符串,格式为:年-月-日 小时:分钟:秒。
import datetime
now = datetime.datetime.now()
print(now)
time_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(time_str)
案例二: 只能由1和它本身整除的整数被称为素数;若一个素数从左向右读与从右向左读是是相同的数,则该素数为回文素数。
def isHui(num):
num_str = str(num)
if num_str == num_str[::-1]:
return True
else:
return False
def isSu(num):
flag = 0
for item in range(2, num):
if num % item == 0:
flag = 1
break
if flag == 1:
return False
else:
return True
print("2~1000 内的所有回文素数:")
for num in range(2, 1001):
if isHui(num) and isSu(num):
print(num, end="")
案例三: 若一个数刚好等于它的因子之和,那么这个数就称为“完数”,例如6=1+2+3,6就是完数。编程打印1000以内的所有完数。
import math
def isWan(num):
if num <= 1:
return False
sum = 1
for i in range(2, int(math.sqrt(num)) + 1):
if num % 1 == 0:
sum += 1
if i != num // i:
sum += num // i
return sum == num
print()
print("1000以内的所有完数为:")
for num in range(1000):
if isWan(num):
print(num, end="")
案例四: 从键盘输入一个不多于5位的正整数,判断其为几位数并将其逆序输出。
print()
while True:
num = int(input("输入一个正整数:"))
num_str = str(num)
if len(num_str) > 5:
continue
print(num, "的位数为:",len(num_str))
print(num, "的逆序为:",len(num_str[::-1]))
break
案例五: 有4个数字:1、2、3、4,其能组成多少组三位数?要求各数位间数字不能相同,比如112不符合要求,123则符合。
count = 0
ls = []
for a in range(1, 5):
for b in range(1, 5):
if a == b:
continue
for c in range(1, 5):
if c != b and c != a:
num = a * 100 + b * 10 + c
ls.append(num)
count += 1
print(ls)