Python找对称数——纪念第一次自主编写代码

2021-03-06 20:30

阅读:499

标签:题目   put   原来   显示   nbsp   split   主函数   测试程序   code   

2021-01-17

题目:

【问题描述】已知10个四位数输出所有对称数及个数 n,例如1221、2332都是对称数
【输入形式】10个四位数,以空格分隔开
【输出形式】输入的四位数中的所有对称数,对称数个数
【样例输入】1221 2243 2332 1435 1236 5623 4321 4356 6754 3234
【样例输出】1221 2332 2

【样例说明】为测试程序健壮性,输入数中可能包括3位数、5位数等

代码:

def is_duichen(n):#判断是不是对称,有的方法选择直接利用第一位等于第四位,第二位等于第三位来判断,也可。我选择比较逆序,这样应用范围相对来说,更大一些,不仅限于4位数
    a=list(n);
    a.reverse();
    b=‘‘.join(a);
    if n==b:
        return True
    else:
        return False
s
=input();#将10个数字当作一个字符串输入 sLst=s.split( );#将输入的数字以空格分割,形成一个列表 m=0; Lst=[];#创建结果空列表 for i in sLst:#利用循环遍历元素,找出符合条件的数字 if(is_duichen(i)): Lst.append(i);#将符合条件的数字加入到队列中 m=m+1; Lst.append(m);#将个数也参加到列表中 print(" ".join(str(i) for i in Lst)) #将列表内容输出,去掉列表格式

 这个代码其实看着挺简单的,可是本小白愣是把该犯的错误一样没落,全都犯了......

  • 关于输出,本来是写在循环里面的,但是发现这样输出的时候就会一个数一行,不符合要求。通过查资料,发现原来可以把结果都添加到一个列表中,nice。然后,发现个数也不能另起一行,那可以直接加到结果列表中啊。我真是个小机灵鬼...
  • 关于计数,我刚开始写在了函数里面,发现在主程序中输出时显示变量未定义......然后我转向了主函数中的循环,结果发现计数只能到1,而且一直循环输出......最后,我把它放在了主程序中循环外,利用循环计数,终于对了,呼。。

 

Python找对称数——纪念第一次自主编写代码

标签:题目   put   原来   显示   nbsp   split   主函数   测试程序   code   

原文地址:https://www.cnblogs.com/Aliniya/p/Aliniya.html


评论


亲,登录后才可以留言!