python编程题二

 输入合法性判断+素数判断 (10分)
实现isPrime()函数,参数为整数,要有异常处理。如果整数是素数,返回True,否则返回False。

输入格式:
输入一个数

输出格式:
如果整数是素数,输出"是素数", 否则输出"不是素数"; 如果输入不满足要求,输出"输入错误"。

输入样例:
11

输出样例:
是素数

代码:
from math import sqrt
def isPrime(n):
    if n <= 1:
        return False
    for i in range(2, int(sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True


try:
    m = eval(input())
    if isinstance(m, int):
        if(isPrime(m)==True):
            print("是素数")
        else:
            print("不是素数")
    else:
        print("输入错误")
except:
    print("输入错误")

 最佳情侣身高 (10分)
 最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。下面就请试写个程序,为任意一位用户计算他/她的情侣的最佳身高。

输入格式:
输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间[1.0,3.0]之间的实数。

输出格式:
对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。

输入样例:
2
F 1.6
M 1.8

输出样例:
1.74
1.65

代码:
import  math
n = eval(input())
lis = []
for i in range(n):
    lis.append([])
for i in range(0,n):
    lis[i] = list((input().split()))
    if(lis[i][0] == 'F'):
        print(format(1.09*eval(lis[i][1]),'.2f'))
    elif(lis[i][0] == 'M'):
        print(format(((eval(lis[i][1]))/1.09),'.2f'))
成绩统计 (10分)
现有某班级Python考试成绩,请你帮老师做一下成绩统计,找出最高分、最低分,算出平均分,统计出不及格人数。

输入格式:
输入在第一行给出班级人数n,第二行为n个学生的成绩(0~100之间的整数),中间用空格分隔。

输出格式:
输出共四行,分别为最高分、最低分、平均分和不及格人数,其中平均分保留1位小数。

输入样例:
10
80 95 75 85 90 55 66 88 100 58
输出样例:
Max: 100
Min: 55
Ave: 79.2
Fail: 2

代码:
import  math
n = eval(input())
lis = list((input().split()))
for i in range(len(lis)):
 lis[i] = int(lis[i])
print("Max: "+str(max(lis)))
print("Min: "+str(min(lis)))
sum = 0
fail = 0
for i in range(0,n):
   if(lis[i] < 60):
       fail += 1
   sum += lis[i]
print("Ave: "+str(format(sum/n,'.1f')))
print("Fail: "+str(fail))
判断完数 (20分)
判断一个正整数是否为完数。完数定义:一个数的所有因子(包括1)之和等于它自身,这个数就是完数。比如6=1+2+3,6是完数。

输入样例:
6

输出样例:
6=1+2+3

输入样例:
28

输出样例:
28=1+2+4+7+14

代码:
import  math
N = eval(input())
print(str(N)+"="+"1",end="")
for i in range(2,N):
    if(N % i == 0):
        print("+"+str(i),end="")
jmu-python-凯撒密码加密算法 (10分)
编写一个凯撒密码加密程序,接收用户输入的文本和密钥k,对明文中的字母a-z和字母A-Z替换为其后第k个字母。

输入格式:
接收两行输入,第一行为待加密的明文,第二行为密钥k。

输出格式:
输出加密后的密文。

输入样例:
Hello World!
3

输出样例:
Khoor Zruog!

代码:
s=input()
key=int(input())
a="abcdefghijklmnopqrstuvwxyz"
A="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for i in s:
    if 'a'<=i<='z':
        c=a.find(i)
        print(a[(c+key+26)%26],end='')
    elif 'A'<=i<='Z':
        c=A.find(i)
        print(A[(c+key+26)%26],end='')
    else:
        print(i,end="")
水仙花数(20 分) (20分)
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 例如:153=1×1×1+5×5×5+3×3×3。

本题要求编写程序,计算所有N位水仙花数。

输入格式:
输入在一行中给出一个正整数N(3≤N≤5)

输出格式:
按递增顺序输出所有N位水仙花数,每个数字占一行。

输入样例:
在这里给出一组输入。例如:

3
输出样例:
在这里给出相应的输出。例如:

153
370
371
407

代码:
import  math
n = eval(input())
for i in range(pow(10,n-1),pow(10,n)):
    sum = 0
    j = i
    for k in range(0,n):
        l=j%10
        sum += pow(l,n)
        j = j//10
    if(sum == i):
        print(i)
 图案打印 (20分)
输入整数n,1<=n<=10,输出n行n列图案。

输入格式:
输入一个整数

输出格式:
输出图案,图案中的每个数所占宽度为4

输入样例:
5
输出样例:
   1   1   1   1   1
   1   2   2   2   2
   1   2   3   3   3
   1   2   3   4   4
   1   2   3   4   5

代码:
n = eval(input())
for i in range(1,n+1):
    for j in range(1,n+1):
        if(i <= j ):
            print("   "+str(i),end="")
        else:
            print("   "+str(j),end="")
    print()
  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值