7-1 小写到大写的转换
从键盘读取一个英文字符串,将其转换为大写,然后输出。
输入格式:
英文字符串,可以包括英文字符,数字及符号。
输出格式:
转换为大写后的英文字符串。
输入样例:
cvoid2020
输出样例:
CVOID2020
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
参考答案
#方法一
a=input()
print(a.upper(),end='')
#方法二
str1=input()
str1=str1.upper()
print(str1)
7-2 将输入字符串及其逆序字符串复制n遍并输出
本题目要求读入1个字符串s,和一个正整数n,然后将输入字符串及其逆序字符串复制n遍并输出。
输入格式:
第一行输入一个字符串,第二行输入正整数n。
输出格式:
第一行输出该字符串复制n遍后的字符串,第二行输出该字符串逆序复制n遍后的字符串。
输入样例:
在这里给出一组输入。例如:
haha
3
输出样例:
在这里给出相应的输出。例如:
hahahahahaha
ahahahahahah
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
参考答案
#方法一
a=input()
b=int(input())
print(a*b)
print(a[::-1]*b,end='')
#方法二
s=input()
n=int(input())
print(n*s)
print(n*s[::-1])
7-3 字符统计
输入一串字符串,统计字符串中字母“p”和“P”出现的次数总和。
输入格式:
输入一串字符串。
输出格式:
输出其中字母 p、P 的出现次数。
输入样例:
在这里给出一组输入。例如:
hello world!
输出样例:
在这里给出相应的输出。例如:
0
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
参考答案
#方法一
a=input()
b=a.count('p')+a.count('P')
print(b,end='')
#方法二
a=input()
print(a.count("p")+a.count("P"))
7-4 数据格式化输出—实验1
数据格式化输出。
输入格式:
获得用户输入的一个整数n,计算n的平方根,保留小数点后4位,并打印输出。
输出格式:
输出结果采用宽度20个字符、居中对齐输出、多余字符采用星号(*)填充。如果结果超过20个字符,则以结果宽度为准。
输入样例:
在这里给出一组输入。例如:
1024
输出样例:
在这里给出相应的输出。例如:
******32.0000*******
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
参考答案
#方法一
a=eval(input())
print("{:*^20.4f}".format(pow(a,0.5)))
#方法二
a=int(input())
b=a**(1/2)
print("{:*^20.4f}".format(b))
7-5 葫芦娃的颜色
动画片《葫芦娃》中有七个葫芦兄弟,他们每个人头 顶葫芦的颜色都不同,按照年龄顺序依次是 赤、橙、黄、绿、青、蓝、紫。 请编写程序,根据用户输入的数字(1-7,其中1代表大娃,2代表二娃,以 此类推……),输出对应葫芦娃的代表颜色。
输入格式:
输入在一行中给出1个整数。
输出格式:
在一行中输出对应葫芦娃的颜色。
输入样例:
2
输出样例:
橙
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
参考答案
#方法一
a=int(input())
b=['赤','橙','黄','绿','青','蓝','紫']
for i in range(len(b)):if a == i+1:print(b[i],end='')
#方法二
a=int(input())
b="赤橙黄绿青蓝紫"
print(b[a-1])
7-6 去掉重复的字符
输入一个字符串,输出将其中重复出现的字符去掉后的字符串
输入格式:
一行字符串
输出格式:
去掉重复字符后的字符串
输入样例:
在这里给出一组输入。例如:
ofiweirowqrigu
输出样例:
在这里给出相应的输出。例如:
ofiwerqgu
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
参考答案
#方法一
a = input()
new_a=''
set_a=set(a)
print("".join(sorted(set_a,key=a.index)),end='')
#方法二
a=input()
b=''
for i in a:if i not in b:b+=i
print(b)
#方法三
s=input()
ss=set(s)
lst=list(set(s))
lst.sort(key=s.index)
print("".join(lst))
7-7 判断字母表
输入一串字符,判断是否是一个26个字母(忽略大小写)的字符串。若不是则输出“”error“,若是则输出该字符串
输入格式:
输入一个字符串
输出格式:
若不是一个26个字母(忽略大小写)的字符串,则输出"error",否则输出全为小写字母的该字符串
输入样例1:
skeUBrlwYnamxjotzcDfvhqigp
输出样例1:
skeubrlwynamxjotzcdfvhqigp
输入样例2:
skeubrlwynamxjotzcdfvhqigg
输出样例2:
error
输入样例3:
ruwo7534kfgklddjsl
输出样例3:
error
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
参考答案
#方法一
a=input()
arr=[0]*26
bz=a.lower()
if a.isalpha() == True:for i in bz:arr[ord(i)-ord('a')]+=1if arr.count(1) == 26:print(bz)else:print("error")
# print(a.lower(),end='')
else:print("error",end='')
#方法二
x=input()
x=x.lower()
if len(x)!=26:print("error")
else:for i in x:if x.count(i)!=1 :print("error")breakelse:print(x)
#方法三
x=input()
x=x.lower()
lst=[0 if chr(i) in x else 1 for i in range(97,123) ]
if sum(lst)==0:print(x)
else:print("error")
7-8 解密替换加密
输入一个密文,然后输入一个单词或短语作为密码,删除密码中所有重复的字母,然后删除字母表中的所有包含在密码中的字母,之后,从密码中最后一个字母后面的字母开始,将字母表分成两部分,最后密钥有三部分组成:密码+字母表后一部分+字母表前一部分。
该密文是通过替换算法进行加密的,现用此密钥对密文进行解密,输出解密后的明文。
注:密文均为小写,若有空格则保留空格。
输入格式:
第一行为密文,第二行为密码
输出格式:
输出替换算法解密后的明文。
输入样例:
j nrzf cry
love
输出样例:
在这里给出相应的输出。例如:
i love you
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
参考答案
#方法一
a=input()
v=input()
b=''
for i in v:if i not in b:b+=i
char_dx =[chr(i) for i in range(ord('a'),ord('z')+1)]
char_dx1 =[chr(i) for i in range(ord('a'),ord('z')+1)]
ls=chr(ord(b[-1])+1)
d=[]
for i in b:if i in char_dx:char_dx.remove(i)
for i in b:d.append(i)
for i in char_dx:if ord(i) >= ord(ls):d.append(i)
for i in char_dx:if ord(i) < ord(ls):d.append(i)
y=''
for i in d:y+=i
x=''
for i in char_dx1:x+=i
j=''
for i in a:if i ==" ":j+=ielse:h=y.find(i)j+=x[h]
print(j)
#方法二
import stringmw=input().lower()
mm=input().lower()
lst=[]
for i in mm:if i not in lst:lst.append(i)
lst_a=[]for i in string.ascii_lowercase:if i not in lst:lst_a.append(i)s1="".join(lst_a)
x=chr(ord(lst[-1])+1)
s=s1.find(x)
alpha="".join(lst)+s1[s:]+s1[:s]
t="".maketrans(alpha,string.ascii_lowercase)
print(mw.translate(t))
7-9 将输入的字符串中的字符头尾间隔输出
输入一个字符串,然后将其中每个字符头尾间隔输出。例如,输入abcdef,则输出afbecd。
输入格式:
输入一个字符串
输出格式:
输出一个字符串
输入样例:
abcdef
输出样例:
afbecd
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
参考答案
#方法一
a=input()
i=0
j=-1
while i <= (len(a)//2)-1:print(a[i],end='')print(a[j],end='')if i == (len(a)//2-1) and len(a) % 2!=0:print(a[i+1],end='')i+=1j+=-1
#方法二
a=input()
x=len(a)
s=""
for i in range(x//2):s+=a[i]+a[x-i-1]
if len(a)%2!=0:s+=a[len(a)//2]
print(s)
#方法三
x=input()
lst=list(x)
if len(x)%2==0:s=len(x)//2
else:s=len(x)//2+1
lst[::2]=x[:s]
lst[1::2]=x[s:][::-1]
print("".join(lst))
7-10 p070找出全部子串位置
输入两个串s1,s2,找出s2在s1中所有出现的位置。
前后两个子串的出现不能重叠。例如’aa’在 aaaa 里出现的位置只有0,2
输入格式:
第一行是整数n
接下来有n行,每行两个不带空格的字符串s1,s2。
输出格式:
对每行,从小到大输出s2在s1中所有的出现位置,每个位置后面有个空格。位置从0开始算
如果s2没出现过,输出 no
输入样例:
4
ababcdefgabdefab ab
aaaaaaaaa a
aaaaaaaaa aaa
112123323 a
输出样例:
0 2 9 14
0 1 2 3 4 5 6 7 8
0 3 6
no
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
参考答案
#方法一
n=int(input())
i=1
while i <=n:l=0c=[]s1=input().split()while l <=len(s1[0])-len(s1[1]):k=0for j in range(len(s1[1])):if s1[0][l+j] != s1[1][j]:continueelse:k+=1if k==len(s1[1]):c.append(l)l=l+len(s1[1])else:l+=1for o in c:print(o,end=' ')if s1[1] not in s1[0]:print("no")else:print('')i+=1
#方法二
n=int(input())
for i in range(n):a,b=input().split()t=0if a.find(b)==-1:print("no")else:while True:t=a.find(b,t)if t==-1:breakprint(t,end=" ")t=t+len(b)print()
本文链接:https://my.lmcjl.com/post/6278.html
4 评论