python期末复习

1.四位玫瑰数
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.求素数
python期末复习_第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.人名出现次数
python期末复习_第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.猴子偷桃
python期末复习_第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.反向输出
python期末复习_第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.判断回文数
python期末复习_第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("不是回文数")

你可能感兴趣的:(python学习,python)