python test2

85 阅读3分钟

一. 定义一个DateTime变量 用来存放当前的系统时间 同时 将它格式化为字符串 格式为:年-月-日 小时:分钟:秒

#1、定义一个DateTime变量,用来存放当前的系统时间,同时,将它格式化为字符串,格式为:年-月-日 小时:分钟:秒。
import datetime
now = datetime.datetime.now()
print(now)
#转换为字符串
time_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(time_str)
#2、只能由1和它本身整除的整数被称为素数;若一个素数从左向右读与从右向左读是是相同的数,则该素数为回文素数。编程求解2~1000内的所有回文素数。
def isHui(num):
    #判定整数num是否为回文串
    num_str = str(num)
    if num_str == num_str[::-1]:#回文串
        return True
    else:
        return False

def isSu(num):
    flag = 0 #标签 初始化为0 当它==1 代表num不是素数
    for item in range(2,num):
        #判断[2,num-1]范围 num能否被其中任意一个数整除
        if num % item ==0:
            flag = 1
            break
    if flag == 1:
        return False#不是素数
    else:
        return True#是素数

二. 2——1000内所有回文串素数

#求解2——1000内所有回文串素数
print("2--1000内所有回文串素数")
for num in range(2,1001):
    if isHui(num) and isSu(num):
        print(num,end ="")

三. 若一个数刚好等于它的因子之和 那么这个数就称为“完数” 例如6=1+2+3 6就是完数 编程打印1000以内的所有完数

#3、若一个数刚好等于它的因子之和,那么这个数就称为“完数”,例如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 % i == 0:
            sum += i
            #避免重复添加公因数
            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位的正整数 判断其为几位数并将其逆序输出

#4、从键盘输入一个不多于5位的正整数,判断其为几位数并将其逆序输出。
print()
while True:
    num = int(input("输入一个正整数:"))
    num_str = str(num)
    if len(num_str) > 5:
        continue
    print(num,"的位数为:",len(num_str))
    print(num,"的逆序为:",num_str[::-1])
    break
print(num,"的位数为:",len(num_str))

五.有4个数字:1、2、3、4,其能组成多少组三位数 要求各数位间数字不能相同 比如112不符合要求 123则符合

#5、有4个数字:1234,其能组成多少组三位数?要求各数位间数字不能相同,比如112不符合要求,123则符合。
count = 0
ls = []
for a in range(1,5):
    for b in range(1,5):
        for c in range(1,5):
            if c != b and a != c:
                num = a* 100 + b * 10+c
                ls.append(num)
                count += 1
print(ls)