美文网首页python热爱者Python新世界
百道Python入门级练习题(新手友好)第二回合——找对称数

百道Python入门级练习题(新手友好)第二回合——找对称数

作者: 轻松学Python111 | 来源:发表于2018-10-19 21:45 被阅读3次

    问题描述

    【问题描述】已知10个四位数输出所有对称数及个数 n,例如1221、2332都是对称数
    【输入形式】10个整数,以空格分隔开
    【输出形式】输入的整数中的所有对称数,对称数个数
    【样例输入】1221 2243 2332 1435 1236 5623 4321 4356 6754 3234
    【样例输出】1221 2332 2
    【样例说明】为测试程序健壮性,输入数中可能包括3位数、5位数等

    不考虑3位数、5位数的情形

    n是对称的四位数吗

    def is_duicheng(n):
    n_str = str(n)
    return n_str[0] == n_str[3] and n_str[1] == n_str[2]
    # if n_str[0] == n_str[3] and n_str[1] == n_str[2]:
    # return True
    # else:
    # return False

    读入10个整数

    line = input().split()
    nums = []
    for s in line:
    nums.append(int(s))

    print("nums=", nums)

    duicheng_list = []
    for n in nums:
    if is_duicheng(n):
    duicheng_list.append(n)

    for d in duicheng_list:
    print(d, end=' ')
    print(len(duicheng_list))123456789101112131415161718192021222324

    对上述代码,说明如下:

    1. 第2到8行定义了判别一个整数是否是对称数的函数is_duicheng。函数是一组语句的集合。第19行调用了is_duicheng函数,传入要被判别的整数n。调用函数,就会执行函数包含的语句。第19行的n是实际参数,而第2行的n是形式参数,两者的名字可以不同。
    2. 我们把4位数转换为字符串,然后比对第1,4位是否相同,第2,3位是否相同,都相同的话,就是对称的。
    3. 第10到14行,输入10个整数。第15行,是打印这10个整数,帮助我们判断输入动作对了没有。
    4. 第17行,duicheng_list变量用来存储对称的四位数。第18到20行求出所有对称的四位数。
    5. 第22,23行,输出所有。这样,输出d的值后,在其尾部接一个空格,且不换行。第24行,输出对称数的个数,也就是duicheng_list的长度。它会接在前面的输出内容尾部。

    考虑3位数、5位数的情形

    在上一节的代码基础上,增加下面所列的第4,5行,就实现了考虑3位数,5位数的情形。Python学习资料或者需要代码、视频加这个群吧548加上377还有875 都在这里了。

    n是对称的四位数吗

    def is_duicheng(n):
    n_str = str(n)
    if len(n_str) != 4:
    return False
    return n_str[0] == n_str[3] and n_str[1] == n_str[2]
    # if n_str[0] == n_str[3] and n_str[1] == n_str[2]:
    # return True
    # else:
    # return False

    读入10个整数

    line = input().split()
    nums = []
    for s in line:
    nums.append(int(s))

    print("nums=", nums)

    duicheng_list = []
    for n in nums:
    if is_duicheng(n):
    duicheng_list.append(n)

    for d in duicheng_list:
    print(d, end=' ')
    print(len(duicheng_list))1234567891011121314151617181920212223242526

    小结

    判断对称数的做法是,把4位数转换为字符串,然后比对第1,4位是否相同,第2,3位是否相同,都相同的话,就是对称的。
    用函数来定义判断对称数的逻辑,是好做法。

    相关文章

      网友评论

        本文标题:百道Python入门级练习题(新手友好)第二回合——找对称数

        本文链接:https://www.haomeiwen.com/subject/zgnuzftx.html