python期末复习

1.四位玫瑰数
在这里插入图片描述

import math
def shuixian(number):#判断是否为四位玫瑰数
    temp=number
    a=temp%10
    b=temp//10%10
    c=temp//100%10
    d=temp//1000
    sum=pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4)
    if sum==temp:
        return 1
    else:
        return 0
for num in range(1000,10000):
    if shuixian(num)==1:
        print(num)

2.求素数
在这里插入图片描述

import math
def zhishu(number):#判断质数
    if number==0 or number==1:
        return 0
    if number==2:
        return 1
    for i in range(2,number):
        if number%i==0:
            return 0
    return 1
sum=0
for num in range(1,10):
    if zhishu(num)==1:
        sum+=num
print(sum)

3.人名出现次数
在这里插入图片描述

s = '''双儿 洪七公 赵敏 赵敏 逍遥子 鳌拜 殷天正 金轮法王 乔峰 杨过 洪七公 郭靖 
       杨逍 鳌拜 殷天正 段誉 杨逍 慕容复 阿紫 慕容复 郭芙 乔峰 令狐冲 郭芙 
       金轮法王 小龙女 杨过 慕容复 梅超风 李莫愁 洪七公 张无忌 梅超风 杨逍 
       鳌拜 岳不群 黄药师 黄蓉 段誉 金轮法王 忽必烈 忽必烈 张三丰 乔峰 乔峰 
       阿紫 乔峰 金轮法王 袁冠南 张无忌 郭襄 黄蓉 李莫愁 赵敏 赵敏 郭芙 张三丰 
       乔峰 赵敏 梅超风 双儿 鳌拜 陈家洛 袁冠南 郭芙 郭芙 杨逍 赵敏 金轮法王 
       忽必烈 慕容复 张三丰 赵敏 杨逍 令狐冲 黄药师 袁冠南 杨逍 完颜洪烈 殷天正 
       李莫愁 阿紫 逍遥子 乔峰 逍遥子 完颜洪烈 郭芙 杨逍 张无忌 杨过 慕容复 
       逍遥子 虚竹 双儿 乔峰 郭芙 黄蓉 李莫愁 陈家洛 杨过 忽必烈 鳌拜 王语嫣 
       洪七公 韦小宝 阿朱 梅超风 段誉 岳灵珊 完颜洪烈 乔峰 段誉 杨过 杨过 慕容复 
       黄蓉 杨过 阿紫 杨逍 张三丰 张三丰 赵敏 张三丰 杨逍 黄蓉 金轮法王 郭襄 
       张三丰 令狐冲 赵敏 郭芙 韦小宝 黄药师 阿紫 韦小宝 金轮法王 杨逍 令狐冲 阿紫 
       洪七公 袁冠南 双儿 郭靖 鳌拜 谢逊 阿紫 郭襄 梅超风 张无忌 段誉 忽必烈 
       完颜洪烈 双儿 逍遥子 谢逊 完颜洪烈 殷天正 金轮法王 张三丰 双儿 郭襄 阿朱 
       郭襄 双儿 李莫愁 郭襄 忽必烈 金轮法王 张无忌 鳌拜 忽必烈 郭襄 令狐冲 
       谢逊 梅超风 殷天正 段誉 袁冠南 张三丰 王语嫣 阿紫 谢逊 杨过 郭靖 黄蓉 
       双儿 灭绝师太 段誉 张无忌 陈家洛 黄蓉 鳌拜 黄药师 逍遥子 忽必烈 赵敏 
       逍遥子 完颜洪烈 金轮法王 双儿 鳌拜 洪七公 郭芙 郭襄 赵敏'''
list1=s.split()
newdict={}
max_num=0
max_name=""
for i in list1:
    if i in newdict:
        newdict[i]+=1
    else:
        newdict[i]=1
    if newdict[i]>=max_num:
        max_num=newdict[i]
        max_name=i
print("出现的次数最多的人是{},次数为:{}".format(max_name,max_num))

4.猴子偷桃
在这里插入图片描述
1)

import math

num=1
for i in range(1,10):
    num=2*(num+1)
print("第一天摘得桃子数量为:{}".format(num))

2)

n=1
for i in range(10,1,-1):
    n=(n+1)<<1
print(n)

5.反向输出
在这里插入图片描述

num=int(input("请输入一个不多于五位的正整数:"))
sum,ans=0,0
while num!=0:
    ans=ans*10+temp
    num=num//10
    sum=sum+1
print("这是一个{}位数".format(sum))
print("这个数字反过来是{}".format(ans))

6.判断回文数
在这里插入图片描述

import math
def is_palidrome(num):
    k=num
    temp=0
    while k!=0:
        temp=temp*10+k%10
        k//=10
    if temp==num:
        return 1
    else:
        return 0
number=int(input("请输入一个五位数:"))
if is_palidrome(number)==1:
    print("是回文数")
else:
    print("不是回文数")
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值