菜单选择 python 练习题

【id:381】【10分】G. 菜单选择

题目描述

输出如下菜单:

1 计算n!

2 输出素数

3 判定闰年

根据输入(1、2、3),接受数据输入,计算n!或输出某范围内的所有素数或判定给定年是否闰年,并输出计算结果。

要求:输出菜单,每个菜单项计算各定义一个函数,共四个函数。

输入

测试次数t

每组测试数据格式如下:

选项(1,2,3或其它),后跟需要的数据。

如: 输入1 10,表示计算n!。

     输入2 10 100,表示输出10到100之间的所有素数。

     输入3 2000,表示判定2000是否闰年。 

输出

对每组测试数据,首先输出菜单。

根据输入选项,输出相应计算结果。如果选项非1到3,输出INPUT ERROR!。

n!—输出计算结果。

闰年—输出“2000是闰年”,“2017非闰年”等信息。

答案

from math import sqrt
def one(n):
    res=1
    for x in range(1,n+1):
        res*=x
    return res

def two(m,n):

    def su(n):
        if n < 2:
            return False
        for x in range(2, int(sqrt(n)) + 1):
            if n % x == 0:
                return False
        return True

    k = []
    for x in range(m, n+1):
        if su(x):
            k.append(x)

    r=[str(l) for l in k]
    res=" ".join(r)
    return res

def three(n):
    if n%4!=0:
        return False
    elif n%100==0 and n%400!=0:
        return False
    return True

def cai():
        print(1,"计算n!")
        print(2, "输出素数")
        print(3, "判定闰年")


t=int(input())
a=[]
for x in range(t):
    cai()
    tes=input()
    a=tes.split(" ")
    a=[int(p) for p in a]
    if a[0]==1:
        print(one(a[1]))
    elif a[0]==2:
        print(two(a[1],a[2]),end=" ")
    elif a[0]==3:
        if three(a[1]):
            print(a[1],"是闰年",sep='')
        else:
            print(a[1],"非闰年",sep='')
    else:
        print("INPUT ERROR!")
    print()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值