python输入10个数、找出对称数_Python入门100道习题(7)——找对称数
问题描述
【问题描述】已知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))
对上述代码,说明如下:
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位数的情形。
#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))
小结
判断对称数的做法是,把4位数转换为字符串,然后比对第1,4位是否相同,第2,3位是否相同,都相同的话,就是对称的。
用函数来定义判断对称数的逻辑,是好做法。
python输入10个数、找出对称数_Python入门100道习题(7)——找对称数相关推荐
- python输入10个数输出最大值流程图_用传统流程图表示该算法:依次将10个数输入,要求将其中最大的数输出...
展开全部 1.传统流程图: 2.思路:比大小,10个数,标上标签,依次为1,2,3....10.然后第1个跟第e68a84e8a2ad323131333532363134313032313635333 ...
- Python入门100道习题(7)——找对称数
问题描述 [问题描述]已知10个四位数输出所有对称数及个数 n,例如1221.2332都是对称数 [输入形式]10个整数,以空格分隔开 [输出形式]输入的整数中的所有对称数,对称数个数 [样例输入]1 ...
- c语言找出最大值和最小值并按降序排输出,C语言用排序法给十个数降序排列,用C语言编写,输入10个数按降序排列...
问题标题 C语言用排序法给十个数降序排列,用C语言编写,输入10个数按降序排列 2019-6-4来自ip:14.161.145.86的网友咨询 浏览量:562 手机版 问题补充: C语言用排序法给十个 ...
- [Java]输入10个数,找出最大一个数,并打印出来。
import java.util.Scanner; public class FindMax{public static void main(String[] args){int number;int ...
- c语言输出最大的数ns流程图_③依次输入10个数,要求输出其中最大的数用传统流程图表示...
编写VB程序.输入20个数,放在数组中,输出其总和,平均数,以及大于平均数的那些数 简单写一下代码流程dima(20)fori=0to19a(i)=inputbox("输入第"+s ...
- (C++)输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求用3个函数实现,分别为输入10个数、进行处理、输出10个数。要求使用指针的方法进行处理。
#include<cstdio> //输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.要求用3个函数实现,分别为输入10个数.进行处理.输出10个数.要求使用指针 ...
- ACMNO.37 C语言-数字交换 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
题目描述 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换. 写三个函数: ①输入10个数:②进行处理:③输出10个数. 输入 10个整数 输出 整理后的十个数,每个数后跟 ...
- 习题 6.3 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:1.输入10个数;2.进行处理;3.输出10个数。
习题 6.3 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.写3个函数:1.输入10个数:2.进行处理:3.输出10个数. 代码: #include<iostream ...
- 实现输入10个数,输出这10个数的和,平均值;输出该组数中数与数的最大差值;再输入一个数,然后确定它在这个数组中第一次出现的位置,如果没有该数则输出-1,否则输出其下标
实现输入10个数,输出这10个数的和,平均值:输出该组数中数与数的最大差值:再输入一个数,然后确定它在这个数组中第一次出现的位置,如果没有该数则输出-1,否则输出其下标 int main() //程序 ...
最新文章
- 又一个神器!只需一行代码,纯文本秒变Markdown
- 巧用Squid的ACL和访问列表实现高效访问控制
- SVN工作笔记006---SVN提交,提示“remains in conflict”错误
- 使用Maven导出war包
- php7版本搭建sqli labs,CentOS 7 LAMP搭建并且部署sqli-labs
- Building Autoencoders in Keras
- 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_06.入门案例的流程总结
- mysql execute 存储过程_Mysql存储过程调用
- KinectV2 Face Basic
- board crt_HTML5 CSS3 朋克风格的旧式CRT显示器
- 游戏业务DDoS攻防对抗案例分享
- 【博学谷学习记录】超强总结,用心分享 | 人工智能常用数据可视化库 matplotlib 入门(1)
- 语料库数据处理个案实例(分词和分句、词频统计、排序)
- 添加权限,获取到用户信息,就用户当前部门进行下拉选择
- 清华大学胡事民是计算机视觉,ResNet也能用在3D模型上了,清华“计图”团队新研究已开源...
- 微博营销2——赢利模式之资讯中心
- 做软件的和搞硬件的,谁更优越?程序员:感觉搞硬件的真厉害,年龄越大越吃香,软件是吃青春饭...
- 氢os android系统耗电,安卓用久了会卡是定制系统惹的祸?氢OS:这锅我不背!
- Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)
- 【记录贴!】记录调试nerf-pytorch踩过的坑