python 作业-输出全数字

本文介绍了一个用于筛选全数字(pandigital)数目的算法。全数字是指一个n位数恰好包含1至n的所有数字各一次的数目。文章提供了一个Python实现,能够从一组输入数字中筛选出所有符合条件的全数字,并提供了完整的代码示例。

题目内容:

如果一个n位数刚好包含了1至n中所有数字各一次则称它们是全数字(pandigital)的,例如四位数1324就是1至4全数字的。从键盘上输入一组整数,输出其中的全数字,若找不到则输出“not found”。形如:

def pandigital(nums):

return lst

if name == “main”:
lst = pandigital(eval(input()))
调用函数根据结果输出

输入格式:

多个数字串,中间用一个逗号隔开

输出格式:

满足条件的数字串,分行输出

输入样例:

1243,322,321,1212,2354

输出样例:

1243

321

时间限制:1800ms内存限制:32000kb

答案(python 2.7)

def pandigital(nums): 
    b=[]
    for i in nums.split(","):
        maxnumber=int(max(str(i)))
            if len(i)== maxnumber and len(set(i))==maxnumber:
            b.append(i)
            continue
        return b
if __name__ == "__main__":
    lst = pandigital(raw_input())
    if len(lst)!=0:
        for i in lst:
            print i
    else:
        print "not found"
以下为几种不同难度层次的 Python if - elif - else 结构课后作业示例: ### 基础难度 #### 1. 判断数字正负 编写一个程序,让用户输入一个整数,然后判断这个数是正数、负数还是零,并输出相应的结果。 ```python num = int(input("请输入一个整数: ")) if num > 0: print("这是一个正数") elif num < 0: print("这是一个负数") else: print("这是零") ``` #### 2. 判断季节 根据用户输入的月份,判断该月份属于哪个季节。3 - 5 月为春季,6 - 8 月为夏季,9 - 11 月为秋季,12、1、2 月为冬季。 ```python month = int(input("请输入月份 (1 - 12): ")) if 3 <= month <= 5: print("春季") elif 6 <= month <= 8: print("夏季") elif 9 <= month <= 11: print("秋季") else: print("冬季") ``` ### 中等难度 #### 1. 成绩等级评定 根据用户输入的成绩(0 - 100),将成绩划分为不同的等级。90 - 100 为 A,80 - 89 为 B,70 - 79 为 C,60 - 69 为 D,0 - 59 为 F。 ```python score = int(input("请输入你的成绩 (0 - 100): ")) if 90 <= score <= 100: print("A") elif 80 <= score <= 89: print("B") elif 70 <= score <= 79: print("C") elif 60 <= score <= 69: print("D") elif 0 <= score <= 59: print("F") else: print("输入的成绩不在有效范围内") ``` #### 2. 三角形类型判断 让用户输入三角形的三条边长,判断这个三角形是等边三角形、等腰三角形还是一般三角形。如果输入的边长不能构成三角形,则输出“不能构成三角形”。 ```python a = float(input("请输入第一条边长: ")) b = float(input("请输入第二条边长: ")) c = float(input("请输入第三条边长: ")) if a + b > c and a + c > b and b + c > a: if a == b == c: print("等边三角形") elif a == b or a == c or b == c: print("等腰三角形") else: print("一般三角形") else: print("不能构成三角形") ``` ### 较高难度 #### 1. 日期合法性判断 让用户输入年、月、日,判断输入的日期是否合法。需要考虑闰年的情况,闰年的 2 月有 29 天,平年的 2 月有 28 天。 ```python year = int(input("请输入年份: ")) month = int(input("请输入月份 (1 - 12): ")) day = int(input("请输入日期: ")) is_leap_year = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0) if 1 <= month <= 12: if month in [1, 3, 5, 7, 8, 10, 12]: if 1 <= day <= 31: print("日期合法") else: print("日期不合法") elif month in [4, 6, 9, 11]: if 1 <= day <= 30: print("日期合法") else: print("日期不合法") elif month == 2: if is_leap_year: if 1 <= day <= 29: print("日期合法") else: print("日期不合法") else: if 1 <= day <= 28: print("日期合法") else: print("日期不合法") else: print("月份不合法") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值