博主第一次写CSDN的博客,所以排版上可能有些不尽人意,代码部分均为个人思路,可能复杂或者考虑欠妥,欢迎大家一起讨论~
目录
第二题:输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。
第九题:输入字符串,排序后输出最大字符及该字符在原字符串中的索引
第一题:大于身高的平均值
中小学生每个学期都要体检,要量身高,因为身高可以反映孩子的生长状况。现在,一个班的身高已经量好了,请输出其中超过平均身高的那些身高。程序的输入为一行数据,其中以空格分隔,每个数据都是一个正整数。程序要输出那些超过输入的正整数的平均数的输入值,每个数后面有一个空格,输出的顺序和输入的相同。
这里用了np数组求得平均数,当然for循环累加也是可以的
import numpy as np
data = input().split()
data = list(map(int,data))
avg = np.mean(data)
for i in data:
if i > avg:
print(i,end = ' ')
后来试了一下倒也没有必要调用numpy,直接用sum函数即可处理,这样程序耗时能从278ms降到15ms左右。
data = list(map(int,input().split()))
avg = sum(data)/len(data)
for i in data:
if i > avg:
print(i,end=' ')
第二题:输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。
输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。
这里我想的是直接对字符串倒序,然后依次检索,输出index调整一下即可
data = input()
a,b = input().split()
data = data[::-1]
for i in range(0,len(data)):
if data[i] == b:
print(len(data)-i-1,b)
for i in range(0,len(data)):
if data[i] == a:
print(len(data)-i-1,a)
第三题:求整数的位数及各位数字之和
对于给定的正整数N,求它的位数及其各位数字之和。(提示:把整数转换成字符串,列表,用sum和len函数)
N = input()
list = list(N)
suma = 0
for i in list:
suma = suma + int(i)
print(len(list),suma)
第四题:字符替换
题要求编写程序,将输入字符串中的大写英文字母按以下对应规则替换:(提示:转换表用元组实现)
暂时没看元组是什么东西,所以直接用ascii码做了,之后会再补充~
data = list(input())
for i in range(len(data)):
if ord(data[i]) >= 65 and ord(data[i]) <= 90:
data[i] = chr(155-ord(data[i]))
data = ''.join(data)
print(data)
第五题:删除字符
输入一个字符串 str,再输入要删除字符 c,大小写不区分,将字符串 str 中出现的所有字符 c 删除。提示:去掉两端的空格。
str = input().strip()
list = list(str)
list1 = list[:]
c = input().strip()
for i in list:
if c.lower() == i.lower():
list1.remove(i)
print('result:', ''.join(list1))