1. 大于身高的平均值
中小学生每个学期都要体检,要量身高,因为身高可以反映孩子的生长状况。现在,一个班的身高已经量好了,请输出其中超过平均身高的那些身高。程序的输入为一行数据,其中以空格分隔,每个数据都是一个正整数。程序要输出那些超过输入的正整数的平均数的输入值,每个数后面有一个空格,输出的顺序和输入的相同。
输入格式:
在一行输入中一个班的身高值,以空格分隔。
输出格式:
在一行输出超过输入的平均数的输入值,以空格分隔。
输入样例:
在这里给出一组输入。例如:
143 174 119 127 117 164 110 128
输出样例:
在这里给出相应的输出。例如:
143 174 164
解答代码如下:
l1 = list(map(int,input().split())) #用一个表l1接受信息
sum = 0
count = 0#用来统计人数和身高总数
for i in range(0,len(l1)):
sum = sum +l1[i]
count = count + 1#统计参与计算的人数并求和
average = sum/count#求平均值
for i in range(0,len(l1)):
if average < l1[i]:
print("{:d} ".format(l1[i]),end="")#输出结果
2. 输出字母在字符串中位置索引
输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。
输入格式:
第一行输入字符串
第二行输入两个字符,用空格分开。
输出格式:
从右向左输出字符和索引,即下标最大的字符最先输出。每行一个。
输入样例:
在这里给出一组输入。例如:
pmispsissippi
s p
输出样例:
在这里给出相应的输出。例如:
11 p
10 p
8 s
7 s
5 s
4 p
3 s
0 p
解答代码如下:
list1=list(input())#创建一个列表来收集结果
list1.reverse()#将列表中的元素顺序反过来
a,b = input().split()#获取需要查找的元素
c=len(list1)
for i in list1:
c-=1
if i==a or i==b:
print("{} {}".format(c,i))#遍历整个表格输出结果
3. 求整数的位数及各位数字之和
对于给定的正整数N,求它的位数及其各位数字之和。(提示:把整数转换成字符串,列表,用sum和len函数)
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
在这里给出一组输入。例如:
456
输出样例:
在这里给出相应的输出。例如:
3 15
解答代码如下:
num = list(input())#以列表的形式读入整数
length = len(num)#求出列表的长度,也就是读入整数的位数
sum = 0
for i in range(0,length):
n = int(num[i])
sum = sum + n
print("{} {}".format(length,sum))#遍历整个列表,将输入的整数逐位相加得到结果
4. 字符替换
本题要求编写程序,将输入字符串中的大写英文字母按以下对应规则替换,其他字符不变。(提示:转换表用元组实现)
原字母 | 对应字母 |
---|---|
A | Z |
B | Y |
C | X |
D | W |
... | ... |
X | C |
Y | B |
Z | A |
输入格式:
在一行中输入字符串
输出格式:
在一行中给出替换完成后的字符串。
输入样例:
在这里给出一组输入。例如:
This is a pen.
输出样例:
在这里给出相应的输出。例如:
Ghis is a pen.
解答代码如下:
line = list(input())#将要处理的字符串存储在列表中
length = len(line)
for i in range(0,length):
if(line[i]>='A'):
if(line[i]<='Z'):#判断其是否为大写字母
a = chr(ord('M')-ord(line[i])+ord('N'))
line[i] = a#按照规律将其对应转换
for i in range(0,length):
print(line[i],end='')#将处理完之后的字符串按顺序输出
5. 删除字符
输入一个字符串 str,再输入要删除字符 c,大小写不区分,将字符串 str 中出现的所有字符 c 删除。提示:去掉两端的空格。
输入格式:
在第一行中输入一行字符
在第二行输入待删除的字符
输出格式:
在一行中输出删除后的字符串
输入样例1:
在这里给出一组输入。例如:
Bee
E
输出样例1:
在这里给出相应的输出。例如:
result: B
输入样例2:
在这里给出一组输入。例如:
7!jdk*!ASyu
!
输出样例2:
在这里给出相应的输出。例如:
result: 7jdk*ASyu
解答代码如下:
line = list(input().strip())#读入要处理的字符串,删除前后的空格
c = input().strip()#读入目标字符,删除前后的空格
length = len(line)
t = 0
for i in range(0,length):
if line[t] == c :
del line[t]
length = length - 1
else: t = t + 1#删除字符串中的目标字符
if c >= 'A' :
if c <= 'Z' :#判断要删除的目标字符是否为大写字母
d = chr(ord(c) - ord ('A') + ord('a'))
t = 0
for i in range(0,length):
if line[t] == d :
del line[t]
length = length - 1
else: t = t + 1#删除字符串中的目标字符的小写形式
if c >= 'a' :
if c <= 'z' :#判断要删除的目标字符是否为小写字母
d = chr(ord(c) + ord ('A') - ord('a'))
t = 0
for i in range(0,length):
if line[t] == d :
del line[t]
length = length - 1
else: t = t + 1#删除字符串中的目标字符的大写形式
print("result:",end=" ")
for i in range(0,length):
print(line[i],end="")#按格式输出处理后的字符串