Python初级第二次作业

一、

05f7aeae0761480293eb471faacc27a3.png

def reverse(num):
    a=num
    t=0
    b=0
    c=num
    while a//10>0:
       if a%10>=0:
           t+=1
           a=a//10
    print(t)
    for i in range(t,-1,-1):
        if c%10==0:
            b+=0
        else:
            b+=(c%10)*(10**i)
        c//=10
    print(b)       
    if b==num:
        return True
    else:
        return False


def isPalind(num):
    k=reverse(num)
    if k==True:
        print(f"{num}是回文")
    else:
        print(f"{num}不是是回文")



num=int(input("请输入一个数字="))
isPalind(num)

1d3e3e6047b14f92800b987dc5bc9996.png

二、

1195dab533bc49f184534d1ec3aa3493.png

def reverse(num):
    a=num
    t=0
    b=0
    c=num
    while a//10>0:
       if a%10>=0:
           t+=1
           a=a//10
    
    for i in range(t,-1,-1):
        if c%10==0:
            b+=0
        else:
            b+=(c%10)*(10**i)
        c//=10
         
    if b==num:
        return True
    else:
        return False

def su(num):
    for i in range(2,num):
        if num%i==0 :
            return False 
t=0
n=1
while t<100:
    if n==1:
        print(n,end="\t")
        t+=1
    elif n==2:
        print(n,end="\t")
        t+=1
    else:
        r=reverse(n)
        s=su(n) 
        if r==True and s!=False:
            print(n,end="\t")
            t+=1
            if t%10==0:
                print ()
        else:
            t+=0
    n+=1
    

 4afdc2d1f6964ddfbb78387f6ee07826.png

三、

7460a82abc5f4e468271ec03fb20b010.png

def su(num):
    for i in range(2,num):
        if num %i==0:
            return False
    else:
        return True
print("1000以内的素数有:")
a=[1,2]
for i in range(3,1001):
    if su(i)!=False:
        a.append(i)

s=0
for i in a:
    print(i,end="\t")
    s+=1
    if s%10==0:
        print()
print()
index=0
while index<1000:
    for i in range(0,len(a)):
        if (a[index]+2==a[i]):
            print(f"({a[index]},{a[i]})")
            index=i+1
    else:
        index+=1 

 51edef4f40824cf384a46a54b2d529f8.png

四、

3d4495cb36494f39b96b735e514e260b.png

s=input("请按照ddd-dd-dddd的方式输入安全码=")
def safe(s):
    for i in range(0,len(s)):
        if i==3 or i==6:
            continue
        if s[i].isdigit()!=True:
            print("请输入数字!")
            return False
SSN="111-11-1111"
def true(s):
    if safe(s)==False:
        print("InValid SSN!")

    else:
        if s==SSN:
            print("Valid SSN!")
        else:
            print("InValid SSN!")
true(s)

五、

34a7456ebbbc48b48a8514f103e7e369.png

def findd(s1,s2):
    for i in s1:
        if s2 in s1:
            return True

s1=input("请输入一段长字符串=")
s2=input("请输入一段要搜索的子串=")
if findd(s1,s2)==True:
    print(f"{s2}是{s1}的子串")
else:
    print("没有字串")

ea771f698c8640c3b332f52a868fed7a.png

六、

d19c6d00b8594f5199255dc08a254a13.png

def gcd(a):
    #将小数变成整数
    b=list(a)
    c=b
    s=0
    for i in b:
        if i%1!=0:
            i=int(i)
        c[s]=i
        s+=1
     #找出最大值
    index=0
    for i in range (4,-1,-1):
        if a[index]<c[i]:
            index=i
   #最大公约数
    j=c[index]
    while c[0]%j!=0 or c[1]%j!=0 or c[2]%j!=0 or c[3]%j!=0 or c[4]%j!=0:
        j-=1
    return j       

a=eval(input("请输入五个数字="))
while len(a)!=5:
        print ("请输入5个数字")
        a=eval(input("请输入五个数字="))
        if len (a)==5:
            break

print(f"最大公约数={gcd(a)}")

a9ea3167216d4e27b2691f209a3a935b.png

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值