python重点题目
回文素数 字符串加密 合法IP地址转换 中英文古风排版 第K序元素查找 绝对值排序 用字典来统计词频 唯一字符 列表元素的查找和添加 字符串运算
分解质因数
描述
分解质因数只针对合数(非质数或者非素数,不包括1在内), 每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。
输入格式
输入一个合数
输出格式
以列表形式输出因子,各因子升序排序
输入输出示例
输入 | 输出 | |
示例 1 | 20 | [2, 2, 5] |
n = int(input())
ls = []
i = 2 #质数从2开始
while i <= n:if n%i == 0:ls.append(i)n = n / ielse:i = i + 1
print(ls)
第K序元素查找
描述
在无排序的一个列表中查找第k个最大元素。
例如, 给定3,2,1,5,6,4和k=2,返回5。
注意: 假设k总是有效的,0 <= k <=数组的长度
输入格式
输入有两行:
1. 一个列表,表示一组数据。
2. 一个整数,表示要查找元素的第K序。
输出格式
输出为一个数值,表示第K序元素。
输入输出示例
输入 | 输出 | |
示例 1 |
|
|
ls=eval(input())
k=int(input())
lt=sorted(ls,reverse=True)
print(lt[k-1])
列表元素的查找和添加
描述
读入一行英文,单词之间以一个空格隔开,如果句中有标点符号,其后也用一个空格分隔。该行英文中可能包含0个或1个"and",如果"and"在字符串中存在,请在"and"前面插入"Anna",并输出。
输入格式:
输入为一行,是一句英文,单词之间以一个空格分隔(单词个数大于或等于0)。
输出格式:
如果输入句子里有单词“and”,则在and前插入单词Anna后输出该句子,各单词之间以一个空格分隔;
如果输入的句子里没有单词“and”,则输出原句。
输入输出示例
输入 | 输出 | |
示例 1 | I like the sisters: and Elsa | I like the sisters: Anna and Elsa |
示例2 | Let it go, let it go; Can't hold it back anymore | Let it go, let it go; Can't hold it back anymore |
s=input()
ls=s.split()
if 'and' in ls:p=ls.index('and')ls.insert(p,'Anna') #列表的插入语法insert(position,object)
print(' '.join(ls)) #利用join函数拼接列表元素
字符串运算
描述
用户输入一个整数 x, 将字符串 '1\t5\t3\t9\n' 中的整数取出,分别与 x 相乘,再求和。
map(int,sep) 可将序列sep中的数字字符串转为对应的整数,例如: s= ['1','2','3'] print(list(map(int,s))) #[1, 2, 3]
输入格式
一个整数 x
输出格式
x 与字符串中数字相乘的和
输入输出示例
输入 | 输出 | |
示例 1 | 2 | 36 |
x = int(input())
str1 = '1\t5\t3\t9\n'
ls = str1.strip().split('\t')
print(sum(x * i for i in map(int,ls)))
str.strip()
描述
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
语法
strip()方法语法:
str.strip([chars]);
参数
- chars -- 移除字符串头尾指定的字符序列。
返回值
返回移除字符串头尾指定的字符生成的新字符串。
绝对值排序
描述
读入一个列表,按照绝对值从大到小排序,如果绝对值相同,则正数在前面。例如列表[3,-4,2,4],排序后的结果为[4,-4,3,2]
建议使用list1=eval(input())直接读入一个列表。
输入
题目的输入为一行,是一个元素类型都是数值的列表,形如[3,-4,2,4]。
输出
输出为一行,是按照绝对值从大到小排序后的列表里的元素,元素之间用一个英文半角逗号分隔,形如4,-4,3,2
输入输出示例
输入 | 输出 | |
示例1 | [3,-4,2,4] | 4,-4,3,2 |
示例2 | [5.2,3,4,6,-5.2] | 6,5.2,-5.2,4,3 |
#先对列表中的元素取绝对值,再排序,最后返回排序后的原列表数值去除列表
ls=eval(input())
print(','.join(map(str,sorted(ls, key = lambda x:(abs(x),x),reverse=True))))
#去除列表用join,(但join只能用于字符串,所以用map映射函数转换列表中的元素类型)
#连接列表中的各个数据;sorted作用-排序但不改变使用完函数后列表成员;(abs(x),x)代表元素出现顺序:绝对值相同时,正数在负数前面 abs(x)负数在正数前面
唯一字符
描述
给定一个字符串,找到它的第一个不重复的字符,输出它的索引。如果不存在这种字符或空串,则返回 -1。
本题字符串中只包含小写字母。
输入
python
输出
0
输入输出示例
输入 | 输出 |
python | 0 |
-1 | |
pppyythoonnn | 5 |
aabbcc | -1 |
ls=list(input())
count=0
if ' ' in ls: #空串情况print('-1')
else:for i in ls:if ls.count(i) == 1: #熟练列表中count的用法:统计某一元素出现次数print(ls.index(i)) #打印出索引breakelse:count+=1if count==len(ls) :print('-1')
密码强度判断
描述
用户输入一个字符串做为密码,判断密码强度,规则为:密码长度小于8弱密码,密码长度大于等于8且包含至少2种字符为中等强度、密码包含3种字符为强、包含全部4种字符为极强。
提示:
string.digits 可返回'0123456789'
string.ascii_lowercase 可返回'abcdefghijklmnopqrstuvwxyz'
string.ascii_uppercase 可返回'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.punctuation 可返回'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
输入格式
输入一个字符串
输出格式
密码强度的判断结果,分:弱、中、强、极强,共四种
输入输出示例
输入 | 输出 | |
示例 1 |
123sdf 12345678as 12345678Aa 12345678Aa! |
弱 中 强 极强 |
import string #必须引入字符串库才可以使用下列功能
s=input()
a=string.digits #生成数字
b=string.ascii_lowercase #生成小写字母
c=string.ascii_uppercase #生成大写字母
d=string.punctuation #生成符号
count1=count2=count3=count4=count=0
if len(s) <8:print('弱')
else:for i in s:if i in a:count1=1 #检验是否存在数字并且避免多个数字引起累加,所以赋值而不是运算elif i in b:count2=1elif i in c:count3=1elif i in d:count4=1count=count1+count2+count3+count4 #计算有多少种类型if count==2:print('中')elif count==3:print('强')elif count<1:print('弱')elif count==4:print('极强')
字符串加密
描述
用户在一行中输入一个包括大小写字母和数字的字符串,编程将其中的大写字母用该字母后的第4个字母替代,其他字符原样输出,实现字符串加密。
输入格式
输入一个至少包含一个大写字母的字符串
输出格式
加密后的字符串
输入输出示例
输入 | 输出 | |
示例 1 | ABCabc123Z | EFGabc123D |
str1 = input()
for i in str1:if ord('A')<=ord(i)<=ord('Z'):#判断i是否是大写字母print(chr(ord('A')+(ord(i)-ord('A')+4)%26),end='')
#因为大写英文字母只有26个,所以要用取余保证还在26个大写英文字母的ascll码的范围内else:print(i,end='') #不为大写字母则原样输出
合法IP地址转换
描述
一个IP地址是由四个字节(每个字节8个位)的二进制码组成。输入一个合法的二进制表示的IP地址,请将其转换为十进制格式表示的IP地址输出(不考虑异常输入数据)。
输入格式
在一行中输入一个32位的二进制字符串,题目确保测试用例都是合法的IP地址的二进制表示。
输出格式
在一行中输出其十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。
输入输出示例
输入 | 输出 | |
示例 1 | 11001100100101000001010101110010 | 204.148.21.114 |
a=input()
ls=[]
for i in [0,8,16,24]:x=int(a[i:i+8],base=2) #了解十进制转二进制的语法:int(str,base=2或8或16)ls.append(str(x))
print('.'.join(ls))
1. 中英文古风排版
描述:
中国的古人写文章或诗词,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。
输入格式:
输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。
输出格式:
按古风格式排版给定的字符串,每列N个字符(最后一列可能不足N个,用空格补齐)。
输入样例1:
4
This is a test case
窗前明月光疑似地上霜举头望明月低头思故乡
输出样例1:
asa T
st ih
e tsi
ce s
输入样例2:
5
床前明月光疑似地上霜举头望明月低头思故乡
输出样例2:
低举疑床
头头似前
思望地明
故明上月
乡月霜光
n=eval(input())
sstr=input()
llen=len(sstr)#如下最后一列不足n的用空格补齐
if llen%n !=0:sstr=sstr+' '*(n-llen%n)#古风输出
for i in range(n):print(sstr[i::n][::-1])#先切片,再倒序排列
回文素数
描述
回文素数是指一个数既是素数又是回文数。例如,131,既是素数又是回文数。
用户输入一个正整数 n , 请你在一行内输出从小到大排列的的前n个回文素数,数字后面用一个空格进行分隔。
输入格式
输入一个正整数
输出格式
符合要求的回文素数
输入输出示例
输入 | 输出 | |
示例 1 | 10 | 2 3 5 7 11 101 131 151 181 191 |
def prime(n):if n <= 1: #小于2的数字单独处理return 0for i in range(2,int(n**0.5+1)): #根据素数定义判定是否是素数,是素数返回1if n % i == 0:return 0return 1 #一个def函数只会return一个值n = int(input())
i = 2
count = 0
while True:if prime(i) and str(i) == str(i)[::-1]: #如果是素数再判定是否是回文print(i,end = ' ') #数字间空格分隔count = count + 1if count == n:break #输出了题目要求的回文素数后跳出循环i = i+ 1#素数的判断很重要
用字典来统计词频
描述
使用freqDict = eval(input()) 读入单词词频字典,再读入一段英文,更新词频字典后输出。
输入格式:
输入为两行,第一行是一个字典,形如{'hello': 12, 'world': 10},其中存储初始的词频数据。第二行是一段英文文本。
输出格式:
输出一行,直接打印输出更新后的字典。
输入输出示例
输入 | 输出 | |
示例 1 |
{} hello world |
{'hello': 1, 'world': 1} |
示例 2 |
{'and':20,'in':10} Anna and Elsa |
{'and': 21, 'in': 10, 'Anna': 1, 'Elsa': 1} |
dic = eval(input())
lt=input().split() #排除字符串为空串的情况;区分split()与split(' ')
for i in lt:if i in dic:dic[i]+=1else:dic[i]=1
print(dic)
python重点题目相关推荐
- python面试题目
python面试题目 原文地址:https://www.usblog.cc/blog/post/justzhl/b5cc9a05c7d2 问题一:以下的代码的输出将是什么? 说出你的答案并解释. ? ...
- 电子学会青少年编程等级考试Python一级题目解析12
Python一级题目解析 1.题目(2021.03) 写一个计算长方形面积的程序,并对每行代码进行相应的注释,要求如下: (1)采用多行注释,说明程序的功能(如下): "计算长方形的面积 并 ...
- 电子学会青少年编程等级考试Python一级题目解析10
Python一级题目解析 1.题目 下面代码的执行结果是() a = 123456789 b = "*" print("{0:{2}>{1},}\n{0:{2}^{ ...
- 电子学会青少年编程等级考试Python一级题目解析11
Python一级题目解析 题目 (1)下列哪个不是Python的保留字?( )[2020.06] A. if B. or C. do D. for (2)下面哪一个不是Python的保留字?( )[2 ...
- 电子学会青少年编程等级考试Python一级题目解析03
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. Python一级题目解析 1.题目[20 ...
- 最全面的Python重点知识汇总,建议收藏!
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨网络,由法纳斯特整理 这是一份来自于 SegmentFault ...
- python考试题目及答案-python面试真实笔试题,带答案(1-10题)
最近从各种python微信群收集了100多道真实的python面试笔试题,因为都是真实题目,故没有答案,为了给那些即将面试的好友提供一份帮助,也为了给广大好友巩固基本python语法知识,最近将把收集 ...
- 你见过的最全面的Python重点知识总结!
这是一份来自于 SegmentFault 上的开发者 @二十一 总结的 Python 重点.由于总结了太多的东西,所以篇幅有点长,这也是作者"缝缝补补"总结了好久的东西,强烈建议收 ...
- 最全面的Python重点知识汇总,建议码住
这是一份来自于 SegmentFault 上的开发者 @二十一 总结的 Python 重点.由于总结了太多的东西,所以篇幅有点长,这也是博主"缝缝补补"总结了好久的东西. Py2 ...
最新文章
- 第十六届全国大学生智能车竞赛线上赛点赛道审核 - 安徽赛区
- 获得html元素自身的宽度
- 使用之location和rewrite用法
- GIT-Linux(CentOS7)系统部署git服务器
- python的empty函数_python中numpy.empty()函数的用法
- 服务连接不上nacos集群_Rust 微服务实践: 连接 rust , nacos , spring cloud
- 谷歌浏览器中打开IE
- 二十二 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别...
- MTK 驱动(73)---MTK 6761平台 android O bootloader启动之 Pre-loader -amp;gt; Lk
- 关于Chrome内核88版本无法正常使用Adobe Flash Player公告
- 小程序获取城市经纬度_微信小程序获取当前所在城市的方法
- 一些推荐的深度学习、机器学习资料
- Docker与容器化-04-Docker私有仓库与镜像迁移备份
- 新版ubuntu16.04安装旧版商店与flash
- 企业内网通讯软件有哪些优势?
- NPS——搭建属于你的内网穿透平台
- 安卓查看内存读写测试软件_办公电脑太慢?试试加条内存就好!内存晒单和内存问题科普...
- 思科防火墙应用NAT
- AR涂涂乐⭐一、unity高版本ImageTarget识别图开始是空白的解决办法、UI自适度
- MySQL面试:索引为啥使用B+树而不是B树