目录
- 1.在区间范围内统计回文数字的数目
- 2.字符串替换
- 3.字符串基本操作
- 4.计算字符个数
- 5.字符串截取
- 6.工作日的力量part two
- 7.克莱姆法则求解方程
- 8.字符统计
1.在区间范围内统计回文数字的数目
Description
给你两个非负整数 low 和 high 。请你返回 low 和 high 之间(包括二者)回文数的数目。回文就是数字中心对称,从左向右读和从右向左读的内容是一样的。【注意:low 一定小于 high,且 low 大于10】
Input
一行,两个非负整数,中间用英文逗号隔开。
Output
一行,一个整数。
Sample Input 1
100,200
Sample Output 1
10
Sample Input 2
456,654
Sample Output 2
19
代码:
l, r = map(int, input().split(','))
ans = 0
for i in range(l,r+1):
if str(i)==str(i)[::-1]:
ans+=1
print(ans)
2.字符串替换
Description
将给定字符串中的大写字母和小写英文字母都按以下对应规则替换:
Input
输入在一行中给出一个不超过80个字符、并以回车结束的字符串。
Output
输出在一行中给出替换完成后的字符串。
Sample Input 1
CAPItaL LeTtERS
Sample Output 1
The replaced text is:XZKRgzO OvGgVIH
代码:
s = input()
ans = ''
for i in range(len(s)):
if s[i] >= 'a' and s[i] <= 'z':
ans += chr(ord('z')+ord('a')-ord(s[i]))
elif s[i] >= 'A' and s[i] <= 'Z':
ans += chr(ord('Z')+ord('A')-ord(s[i]))
else:
ans += s[i]
print('The replaced text is:'+ans)
3.字符串基本操作
Description
输入一行字符串,输出每行英文字母、数字及其他字符的个数,并将字符串中的小写字母变成大写字母,大写字母保持不变后输出。
Sample Input 1
aBBcc学123习一个BCc
Sample Output 1
字母字符数有8个,阿拉伯数字字符数有3个,其他字符有4个,本条字符转换为:ABBCC学123习一个BCC
代码:
s = input()
cnt1, cnt2, cnt3 = 0, 0, 0
for i in range(len(s)):
if s[i] >= 'a' and s[i] <= 'z' or s[i] >= 'A' and s[i] <= 'Z':
cnt1 += 1
elif s[i] >= '0' and s[i] <= '9':
cnt2 += 1
else:
cnt3 += 1
print(f'字母字符数有{cnt1}个,阿拉伯数字字符数有{cnt2}个,其他字符有{cnt3}个,本条字符转换为:' + s.upper())
4.计算字符个数
Description
通过输入,在一行内接收一个仅由字母和数字组成的字符串,还有一个单一字符,然后输出“输入的字符串”中含有该字符的个数。不区分大小写。输入格式:输入一个由字母和数字组成的字符串,和一个字符,以空格隔开。输出格式:输出“输入的字符串”中含有该字符的个数。
【提示】:1、必须使用字符串处理方法str.lower()或str.upper()。2、输入数据仅占一行,获取输入的字符串和字符必须使用str.split()分别获取。
Sample Input 1
a1234bAcdeAf a
Sample Output 1
3
代码:
s1, s2 = input().split()
print(s1.upper().count(s2.upper()))
5.字符串截取
Description
输入一个长度为10的字符串,截取其中第4-5和第7-8两个区域并显示。
Input
一个长度为10的字符串。
Output
输出两个切片区域,中间无间隔。
Sample Input 1
我喜欢去故宫和长城。
Sample Output 1
故宫长城
代码:
s = input()
print(s[4:6] + s[7:9])
6.工作日的力量part two
Description
如果一个人在一年365天,每天进步1%,则累计获得的进步一定比工作日模式下累计获得的进步要大。那么在工作日的模式下,要努力到什么水平,才能达到与每天努力1%一样呢?假设现有两种努力模式:(1)一年365天,每天进步1%,不停歇;(2)一年365天,每工作n天休息1天,假设在休息日下降1%,工作日每天进步x%。请编写程序计算出,当两种工作模式取得的成果一样时,x的值。
Input
一个整数n。
Output
共一行,为x的值,保留三位有效数字。
Sample Input 1
4
Sample Output 1
工作日的努力参数是:0.015
代码:
def find(x):
res = 1
for i in range(1,366):
if i % (n + 1) == 0:
res *= 0.99
else:
res *= (1 + x)
return res
n = int(input())
ans = 0.01
while find(ans) < 1.01 ** 365:
ans += 0.0001
print('工作日的努力参数是:%.3f' % ans)
7.克莱姆法则求解方程
Description
请用克莱姆法则解下面的线性方程2x2系统:
编写程序,用户输入数字a、b、c、d、e和f,然后显示x和y的结果。如果ad-bc为零,呈现“The equation has no solution”。
Input
a,b,c,d,e和f的值(英文逗号分隔)。
Output
x和y的值(空格分隔,小数点后保留1位)。
Sample Input 1
1.0,2.0,2.0,4.0,4.0,5.0
Sample Output 1
The equation has no solution
Sample Input 2
2,4,1,8,3,2
Sample Output 2
x=1.3,y=0.1
代码:
a, b, c, d, e, f = map(float, input().split(','))
if a * d - b *c == 0:
print('The equation has no solution')
else:
print('x=%.1f,y=%.1f' % ((e * d - b * f) / (a * d - b* c),(a * f - e * c) / (a * d - b * c)))
8.字符统计
题目描述
从键盘输入任意一个字符串 S 和一个整数 N,中间用英文逗号’,‘隔开,并保证整数 N 小于字符串 S的长度。
编写程序,完成以下要求:
1、把字符串 S 最右边的 N 个不重复的小写英文字母挑选出来,并以字符串的形式,按照该字符在字符串 S 中的相对位置排列输出。如果输入的内容中没有 N 个小写英文字母,则显示信息“Not Found”。
2、若字符串 S中存在数字,则计算 S 中所有数字的和并输出,若不存在数字,则显示信息 ”No Number“。
【注:题目规定若S中存在数字则一定只为0~9的整数,其他情况不需要考虑】
输入要求
仅一行,任意输入一个字符串 S 和一个整数 N,中间用英文逗号’,‘隔开。
输出要求
共两行,第一行为字符串 S 中最右边的 N 个不重复的小写英文字母,若不够N个,则输出“Not Found”;
第二行输出字符串 S 中所有数字的和,若S中没有数字,则输出”No Number“。
输入样例 1
poemp133314567,7
输出样例 1
Not Found
Sum=33
输入样例 2
AiBe12shwQ2 shAdu 12shu,5
输出样例 2
wdshu
Sum=8
输入样例 3
syenish%$#@#&yesoosrqo,8
输出样例 3
ihyesrqo
No Number
输入样例 4
%aabc$#@dc#&ddcaa,10
输出样例 4
Not Found
No Number
代码:
s, n = input().split(',')
n = int(n)
ans = ''
sum = -1
for i in range(-1,-len(s)-1,-1):
if s[i] >= 'a' and s[i] <= 'z' and ans.count(s[i]) == 0:
ans +=s[i]
elif s[i] >= '0' and s[i] <= '9':
sum += int(s[i])
if len(ans) < n:
print('Not Found')
else:
print(ans[n-1::-1])
if sum == -1:
print('No Number')
else:
print('Sum=%d' % (sum + 1))