先更新22道,剩余的题会慢慢再本文档内更新

目录

1. (程序题)【求圆柱体的体积】

2. (程序题)【时间计算】

3. (程序题)【利息计算】

4. (程序题)【BMI指数计算】

5. (程序题)【烧热水】

6. (程序题)【三角形面积】

7. (程序题)【节约用电】

8. (程序题)【四位数逆序输出】

9. (程序题)【计算年薪】

10. (程序题)【三个数必有最大——part 1】

11. (程序题)【三个数必有最大——part 2】

12. (程序题)【简单计算2】

13. (程序题)【计算字符个数】

14. (程序题)【判断回文字符串】

15. (程序题)【字符串截取】

16. (程序题)【克莱姆法则求解方程】

17. (程序题)【数列求和 - part one】

18. (程序题)【删除字符串中连续的重复字符】

19. (程序题)【温度转换】

20. (程序题)【字符串循环左移】

21. (程序题)【字符串替换】

22. (程序题)【字符串基本操作】


愿你我都能在彼此看不到的地方褶褶生辉


1. (程序题)【求圆柱体的体积】

Description

从键盘输入一个圆柱体的半径r和高h,求:圆柱体的体积v。结果要求保留2位小数。圆周率为3.14159。

Input

圆柱体的半径r和高h

Output

圆柱体的体积

Sample Input 1

1.5

3

Sample Output 1

v=21.21

r=eval(input())
h=eval(input())
v=(r**2*3.14159)*h
print(f'v={v:.2f}') #结果保留两位小数 f-string 语法 输出格式  f''  {变量}

2. (程序题)【时间计算】

Description

接收用户输入的一个秒数(非负整数),折合成小时、分钟和秒输出。

Input

输入格式:一个非负整数

Output

输出格式:将小时、分钟、秒输出到一行,中间使用空格分隔。

Sample Input 1

Plain Text

70000

Sample Output 1

Plain Text

19时26分40秒
s=int(input())
h=s//3600 #整除得到结果为小时
m=(s-(h*3600))//60  #计算分钟
s=s-h*3600-m*60  #秒
print(f'{h}时{m}分{s}秒')

3. (程序题)【利息计算】

Description

假如你想将一笔钱以固定年利率存入账户。如果你希望三年之后账户中有5000元,你现在需要存入多少钱?使用下面的公式可以算出初始存款:

编写一个程序,提示用户输入最终金额值、百分比表示的年利率以及年数,然后显示最初存款额。

Input

输入格式:最终金额值、百分比表示的年利率以及年数,输入下一项需换行

Output

输出格式:最初存款额(注意:计算后保持原样输出,保留两位小数位数)

Sample Input 1

Plain Text

1000
4.25
5

Sample Output 1

Plain Text

808.86
w=eval(input()) #最终金额
p=eval(input())# 百分比表示的年利率,
n=eval(input())# 年数
m=(p/100)/12  #月利率
e=w/((1+m)**(n*12)) #最初金额
print(f'{e:.2f}')

4. (程序题)【BMI指数计算】

Description

身体质量指数(Body Mass Index,BMI)是根据人的体重和身高计算得出的一个数字,BMI对大多数人来说,是相当可靠的身体肥胖指标,其计算公式为:

其中体重单位为公斤,身高单位为米。编写程序,提示用户输入体重和身高的数字,输出BMI。

Input

输入格式:输入两行数字,第一行为体重(公斤),第二行为身高(米)

Output

输出格式:相应的BMI值,保留两位小数。

Sample Input 1

Plain Text

80
1.75

Sample Output 1

Plain Text

26.12
w=eval(input())
h=eval(input())
B=w/(h**2)
print(f'{B:.2f}')

5. (程序题)【烧热水】

Description

编写一个程序,计算将水从初始温度加热到最终温度所需的能量。提示用户输入以千克计算的水量以及水的初始温度和最终温度。计算能量的公式是:Q = M * (最终温度–初始温度) * 4184。M是按千克计的水量,温度为摄氏温度,热量Q以焦耳计。

Input

输入格式:以千克计算的水量以及水的初始温度和最终温度(摄氏温度),输入下一项需换行

Output

输出格式:以焦耳计算的能量(小数点后保留一位)

Sample Input 1

Plain Text

55.5
3.5
10.5

Sample Output 1

Plain Text

1625484.0
M=eval(input())#水量
T1=eval(input()) #初始温度
T2=eval(input()) #最终温度
Q=M*(T2-T1)*4184
print(f'{Q:.1f}')

6. (程序题)【三角形面积】

Description

由三角形的三边长,求其面积。规定:输入的三条边一定能构成三角形,不用进行判定。提示:a,b,c小于1000由三角形的三边a,b,c求面积可以用如下的公式:

Input

输入格式:三行,每行一个数字。

Output

输出格式:一个实数,保留两位小数。

Sample Input 1

Plain Text

3
4
5

Sample Output 1

Plain Text

6.00
import math
a=eval(input())
b=eval(input())
c=eval(input())
p=(a+b+c)/2
#S=math.sqrt(p*(p-a)*(p-b)*(p-c))
#函数sqrt()返回一个数字的算数平方根,使用时需要导入import math,使用格式math.sqrt()
S=(p*(p-a)*(p-b)*(p-c)) **0.5 #方法2:1/2方
print(f'{S:.2f}')

7. (程序题)【节约用电】

Description

某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。输入格式:输入在一行中给出某用户的月用电量(单位:千瓦时)。输出格式:在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost =应付电费值”;若用电量小于0,则输出"InvalidValue!"。

Input

输入样例1:10

Output

输出样例1:cost = 5.30

Sample Input 1

Plain Text

100

Sample Output 1

Plain Text

cost = 55.50

Sample Input 2

Plain Text

-100

Sample Output 2

Plain Text

Invalid Value!
m=eval(input()) #月用电量
cost=0  #应付电费值
if 0<=m<=50:cost=m*0.53print(f'cost = {cost:.2f}')
elif m<0:print("Invalid Value!")  #单独输出字符串要加双引号“ ”或者单引号‘’,否则报错为无定义变量
else:                         #排除0-50和赋值,其余都>50cost=((m-50)*(0.53+0.05)+50*0.53)print(f'cost = {cost:.2f}')

8. (程序题)【四位数逆序输出】

Description

编写一个程序,提示用户输入四位整数并以反向顺序显示。

Input

输入格式:一个四位的整数

Output

输出格式:四个一位整数,在同一行输出,空格分隔,结尾无空格无换行

Sample Input 1

1234

Sample Output 1

4 3 2 1

#最简单方法把他当作字符串处理,使用切片逆序输出
a=int(input())
b=str(a)
b=b[::-1]#逆序输出  等价于b=b[-1:-5:-1] 切片前取后不取,所以为-5
print(' '.join(b))  #.join()函数功能为用分隔符连接字符串  ' '.join(b) b字符串用空格分隔连接

9. (程序题)【计算年薪】

Description

编写程序,要求输入一个人的姓名和目前的年薪,然后计算这个人下一年的薪水。如果年薪小于40000元,则下一年的年薪将增长5%。如果年薪大于等于40000元收入,下一年的年薪除增加2000元外,还会增加超过40000元部分的2%。

Input

输入格式:共输入两行信息,第一行为姓名(字符串),第二行为目前年薪(数字)。

Output

输出格式:输出  【**新一年的年薪是:****元 】  不要增加额外的提示信息。

Sample Input 1

Plain Text

Linda
10000

Sample Output 1

Plain Text

Linda新一年的年薪是:10500.0元

Sample Input 2

Plain Text

Bob
78946

Sample Output 2

Plain Text

Bob新一年的年薪是:81724.9元

10. (程序题)【三个数必有最大——part 1】

Description

孔子曰:三人行必有我师

我师曰:三个数必有最大

Input

三个数字a b c

Output

a b c其中最大的数

Sample Input 1

Plain Text

10
20.0
30

Sample Output 1

Plain Text

30
a=eval(input())
b=eval(input())
c=eval(input())
#print(max(a,b,c))  直接输出也可以
m=max(a,b,c)  #max()取最大值函数,min()取最大值函数
print(m)

11. (程序题)【三个数必有最大——part 2】

Description

孔子曰:三人行必有我师

我师曰:三个数必有绝对值最大

Input

三个整数a b c

Output

a b c其中绝对值最大的数

(若存在多个绝对值相等的数,则输出第一个数,即最先出现的数)

Sample Input 1

Plain Text

-30
20
30

Sample Output 1

Plain Text

-30
a=eval(input())
b=eval(input())
c=eval(input())
max=a         #假设a值最大,依次遍历比较大小保证多个绝对值相等的数,则输出第一个数,即最先出现的数,较大的赋值给max
if abs(b)>abs(a):max=b
if abs(c)>abs(max):max=a
print(max)

12. (程序题)【简单计算2】

请你统计从1~1000000之间(包括二者)7的倍数的个数。

n=0  #计数器
for i in range(1,1000001):    #range(),取值 前闭区间,后开区间,取前不去后if i%7==0: #7的倍数,对7取余一定为0n+=1   #n=n+1 python中不存在 ++ --
print(n)

13. (程序题)【计算字符个数】

Description

通过输入,在一行内接收一个仅由字母和数字组成的字符串,还有一个单一字符,然后输出“输入的字符串”中含有该字符的个数。不区分大小写。输入格式:输入一个由字母和数字组成的字符串,和一个字符,以空格隔开。输出格式:输出“输入的字符串”中含有该字符的个数。

【提示】:1、必须使用字符串处理方法str.lower()或str.upper()。2、输入数据仅占一行,获取输入的字符串和字符必须使用str.split()分别获取。

Input

输入样例:

a1234bAcdeAf a

Output

输出样例:

3

Sample Input 1

Plain Text

a1234bAcdeAf a

Sample Output 1

Plain Text

3

a=input()    #输入时敲个空格再输入a
b=a.lower()  #.lower()转换成小写  .upper()转换成大写,因为大小写字母视为相同字母,遍历时需要同一大小写
c=b.split()  #以空格分割字符串,分割后变成列表
n=0          #统计输入的字符串中含有a字符的个数
for i in c[0]:   #c目前状态为列表['a1234bacdeaf', 'a'],c[0]为字符串a1234bacdeaf,相当于遍历字符串,# 区分range()函数迭代对象,for循环语句的迭代对象可以为字符串、列表、元组、字典、集合、range对象if i==c[1]:  #c[1]为an=n+1
print(n)

14. (程序题)【判断回文字符串】

Description

输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。

Input

输入格式:

输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。

Output

输出格式:

输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes,否则输出No。

Sample Input 1

Plain Text

level

Sample Output 1

Plain Text

level

Yes

s1=input()
s2=s1[::-1]  #逆序
print(s1)
if s1==s2:print('Yes') #字符串加引号
else:print('No')

15. (程序题)【字符串截取】

Description

输入一个长度为10的字符串,截取其中第4-5和第7-8两个区域并显示。

Input

输入格式:一个长度为10的字符串

Output

输出格式:输出两个切片区域,中间无间隔。

Sample Input 1

Plain Text

我喜欢去故宫和长城。

Sample Output 1

Plain Text

故宫长城

s=input()
s1=s[4:6]  #切片正向下标从0开始,默认步长为1
s2=s[7:9]
str=s1+s2  #字符串不可变数据类型,两个字符串可以用+连接
print(str)

16. (程序题)【克莱姆法则求解方程】

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

Plain Text

1.0,2.0,2.0,4.0,4.0,5.0

Sample Output 1

Plain Text

The equation has no solution

Sample Input 2

Plain Text

2,4,1,8,3,2

Sample Output 2

Plain Text

x=1.3,y=0.1

a,b,c,d,e,f=eval(input())
if a*d-b*c==0:print('The equation has no solution')
else:x=(e*d-b*f)/(a*d-b*c)y=(a*f-e*c)/(a*d-b*c)print(f'x={x:.1f},y={y:.1f}')

17. (程序题)【数列求和 - part one】

【题目描述】

现有数列:

现在请输入一个正整数N,计算S的值。

【输入描述】

输入格式:一个正整数N

【输出描述】

输出格式:一个整数

【输入样例1】

3

【输出样例1】

24

正负数相间,不妨分开求和再相加,正数数列+负数数列=总数列和n=int(input())
s1,s2,s=0,0,0
for i in range(1, n+1):if i % 2 == 1:   #奇数i = i ** is1 = s1 + ielse:           #偶数i = i ** is2 = s2 - i
s=s1+s2
print(s)

18. (程序题)【删除字符串中连续的重复字符】

Description

通过键盘输入一串小写字母(a~z)组成的字符串,编写一个测试程序,将字符串中连续出现的重复字符删去(即在一个字符串中,如果遇到连续重复的字符只出现一次),然后输出处理后的字符串。例如:str1="aabbccddaabbccdd",输出结果为:"abcdabcd"。

Input

输入格式:共一行,为一个字符串

Output

输出格式:共一行,为删除连续的重复字符后得到的新字符串

Sample Input 1

Plain Text

aabcccccaaa

Sample Output 1

Plain Text

abca

s=input()
l=list(s) #字符串转换成列表
ls=[0]    #定义的列表中有0这个原素
ls[0]=l[0]
for i in range(1,len(s)):  #下标或者索引都是从0 ~ len(s)-1if l[i]!=l[i-1]:      #前面元素不等于后面元素ls.append(l[i])  #向列表末尾添加原素a[i]
print("".join(ls))   #将列表转换成字符串  ""代表字符串类型
#print("".join(map(str,ls))) #将列表转换成字符串 方法2 map函数对ls列表中每一个元素进行转换str操作,map返回值是一个地址

19. (程序题)【温度转换】

Description

温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。转换算法如下:(C表示摄氏度、F表示华氏度)C = ( F - 32 ) / 1.8;F = C * 1.8 + 32。

要求如下:

(1) 输入输出的摄氏度可采用大小写字母C结尾,温度可以是整数或小数,如:12.34C指摄氏度12.34度;

(2)输入输出的华氏度可采用大小写字母F结尾,温度可以是整数或小数,如:87.65F指华氏度87.65度;

(3)输出保留小数点后两位,输入格式错误时,输出提示:输入格式错误;

(4) 使用input()获得测试用例输入时,不要增加提示字符串。

Input

输入示例1:

12.34C

输出示例1:

54.21F

Output

输入示例2:

12.34

输出示例2:

输入格式错误!

Sample Input 1

12.34C

Sample Output 1

54.21F

Sample Input 2

12.34

Sample Output 2

输入格式错误!

Sample Input 3

12.34c

Sample Output 3

54.21f


#方法1:
'''
s=input()
if s[-1] in ['C','c']:  #取字符串s中最后一个元素判断是否为C,c,使用列表['C','c'],该列表为字符串列表C=float(s[0:-1:])  #取数值部分,字母为最后一个元素下标-1,字母前都是数字F=C*1.8+32f=chr(ord(s[-1])+3) #ord()函数将字符串转换为ASIIC码,chr()函数将ASIIC码转换为字符串 C/c与F/fASIIC码值差3print(f'{F:.2f}{f}')
elif s[-1] in ['F','f']:F2=float(s[0:-1:])C2=(F2-32)/1.8c=chr(ord(s[-1])-3)print(f'{C2:.2f}{c}')
else:print("输入格式错误!")'''#方法2:
a=input()
if a[-1: -2:-1]=='C':F=float(a[0:-1])*1.8+32print(f'{F:.2f}F')
elif a[-1:-2:-1]=='c':f=float(a[0:-1])*1.8+32print(f'{f:.2f}f')
elif a[-1:-2:-1]=='F':C=(float(a[0:-1])-32)/1.8print(f'{C:.2f}C')
elif a[-1:-2:-1]=='f':c=(float(a[0:-1])-32)/1.8print(f'{c:.2f}c')
else:print('输入格式错误!')

20. (程序题)【字符串循环左移】

Description

给定一个字符串S,要求把S的前k个字符移动到S的尾部,如把字符串“abcdef”前面的2个字符‘a’、‘b’移动到字符串的尾部,得到新字符串“cdefab”,称作字符串循环左移k位。

Input

输入格式:输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。

Output

输出格式:在一行中输出循环左移N次后的字符串。

Sample Input 1

Plain Text

abcd

2

Sample Output 1

Plain Text

cdab

s=input()
n=eval(input())
s1=s[0:n:]
s2=s[n::]
st=s2+s1
print(st)

21. (程序题)【字符串替换】

Description

将给定字符串中的大写字母和小写英文字母都按以下对应规则替换:

Input

输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。

Output

输出格式:输出在一行中给出替换完成后的字符串。

Sample Input 1

Plain Text

CAPItaL LeTtERS

Sample Output 1

Plain Text

The replaced text is:XZKRgzO OvGgVIH

s=input()
l=list(s)
s1=[0]
for i in range(0,len(s)):if 'A'<=l[i]<='Z':l[i]=chr(abs((ord(l[i])-155)))    #A 65  Z 90  相差155elif 'a' <=l[i] <='z':l[i] = chr(abs((ord(l[i]) - 219)))  #a 97  z 122 相差219
print(f'The replaced text is:{"".join(l)}')  #转字符串

22. (程序题)【字符串基本操作】

Description

输入一行字符串,输出每行英文字母、数字及其他字符的个数,并将字符串中的小写字母变成大写字母,大写字母保持不变后输出。

Input

输入样例:

aBBcc学123习一个BCc

Output

输出样例:

字母字符数有8个,阿拉伯数字字符数有3个,其他字符有4个,本条字符转换为:ABBCC学123习一个BCC

Sample Input 1

Plain Text

aBBcc学123习一个BCc

Sample Output 1

Plain Text

字母字符数有8个,阿拉伯数字字符数有3个,其他字符有4个,本条字符转换为:ABBCC学123习一个BCC
s=list(input().upper())  #.lower()
a,b,c=0,0,0
for i in range(len(s)):if 'A'<=s[i] <='Z':#if s[i].isalpha():#不对,python中汉字当做字母处理a+=1elif s[i].isdigit():b+=1else:c+=1s=''.join(s)
print(f"字母字符数有{a}个,阿拉伯数字字符数有{b}个,其他字符有{c}个,本条字符转换为:{s}")

23. (程序题)【字符串逆序】

Description

输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。

Input

输入格式:

输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。

Output

输出格式:

在一行中输出逆序后的字符串。

Sample Input 1

Plain Text

Hello World!

Sample Output 1

Plain Text

!dlroW olleH

s=input()
s=s[::-1]
print(s)

24. (程序题)【列表合并去重】

【题目描述】

输入两个列表alist和blist,要求列表中的每个元素都为正整数且不超过10;合并alist和blist,并将重复的元素去掉后输出一个新的列表clist。同时为保证输出结果一致,请将列表clist内元素按升序排序之后再输出。

【输入描述】

输入样例:共两行,每一行都用来输入列表中的元素值,以空格隔开。

【输出描述】

输出样例:共一行,以列表形式打印输出。

【输入样例1】

1 2 3
    4 3 2

【输出样例1】

[1, 2, 3, 4]

alist = list(map(int,input().split()))
blist = list(map(int,input().split()))
clist = list(set(alist + blist))
#print(sorted(clist))#默认升序
print(str(clist).replace(' ',''))

25. (程序题)【列表的基本操作】

【题目描述】

输入一串用空格隔开的数字字符,请依次将他们放入列表中保存,并去除列表中的重复项,最后将列表中的元素按数值大小从小到大进行排序,输出排好序后下标为i的字符。

【注意】测试样例中保证排完序的列表中至少有i+1个元素。

【输入描述】

第一行:一串以空格隔开的数字字符串。

第二行:待输出列表的下标值i。

【输出描述】

排好序的列表中下标为i的元素。

【输入样例1】

9 7 17 6 7 5 8
4

【输出样例1】

9

s=input().split()  #列表
a=eval(input())
l=list(set(s)) #集合去重-->列表  字符串列表
l1=list(map(int,l))  #变成整数列表
l2=sorted(l1) #默认升序
print(l2[a])

26. (程序题)【列表排列】

【题目描述】

给定一个由数字组成的列表sList,编写程序将所有 0 移动到列表的末尾,同时保持非零元素的相对顺序。

【输入描述】

输入格式:共一行,元素以英文逗号隔开。

【输出描述】

输出格式:共一行,为重新排列好的列表。

【输入样例1】

1,3,4,1.2,0,0,0.0,2,3,5.6

【输出样例1】

[1, 3, 4, 1.2, 2, 3, 5.6, 0, 0, 0.0]

sList=input().split(',')
cList=[]
for i in range(len(sList)):if sList[i] not in ['0','0.0']: #去0cList.append(sList[i])
for j in range(len(sList)):   #添加0if sList[j] in['0','0.0']:cList.append(sList[j])
ls=list(map(eval,cList)) #去‘’
print(ls)

27. (程序题)【列表求平均值】

Description

依次输入1到多个整数,并保存在列表中,求此列表的平均值。

Input

1到多个整数,以空格隔开。

Output

输出此列表的平均值,四舍五入保留一位小数。

Sample Input 1

Plain Text

1 2 3 4 5

Sample Output 1

Plain Text

3.0

n=input().split()
n=list(map(eval,n))
ave=round(sum(n)/len(n),1)#round四舍五入 奇数进偶不进位 5.215-5.22 5.225-5.22
print(ave)

28. (程序题)【有序列表插入元素】

【输入描述】

从键盘上获取一个已按升序排好的整数列表(测试样例的数都已严格按照升序输入),用户输入一个待插入的整数,编写程序,实现插入该数后,列表后仍保持有序。

【输入描述】

样例输入:

1、列表元素由空格隔开。

2、待插入的整数。

【输出描述】

样例输出:

输出后的列表为X,插入后的索引值为X

若插入元素的值与已有列表中的元素相同,则X为最大下标索引值。

【输入样例1】

1 2 3 3 3 4
    3

【输出样例1】

输出后的列表为[1, 2, 3, 3, 3, 3, 4],插入索引值为5

n=list(map(int,input().split()))
n=sorted(n)#升序
m=int(input())
a=len(n)
j=0 #记录索引
if n[0]>m:n.insert(0, m) j=0
elif n[a-1]<m:n.insert(a, m)j=a
else:for i in range(len(n)):if n[i]==m and (n[i+1]!=m):n.insert(i+1,m)j=i+1break
print(f'输出后的列表为{n},插入索引值为{j}')

29. (程序题)【字符子串下标匹配】

【题目描述】

从键盘输入两个字符串 Parent和 child,请你在字符串Parent中找出字符串child的第一个匹配项的下标(下标从 0 开始)。如果字符串child不是字符串Parent的一部分,则返回  -1 。

【注意】不区分大小写

【输入描述】

输入格式:两行字符串

【输出描述】

输出格式:一个整数

【输入样例1】

sadbutsad

Sad

【输出样例1】

0

【输入样例2】

ilovepython

then

【输出样例2】

-1

parent = input().lower()
child = input().lower()
print(parent.find(child))#.find函数查找字符串中是否包含子串,如果有返回开始索引值,如果没有返回-1
#区别于.index()函数,如果有返回开始索引值,如果没有抛出异常

30. (程序题)【查验身份证】

Description

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:

Z:0 1 2 3 4 5 6 7 8 9 10

M:1 0 X 9 8 7 6 5 4 3 2

现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。

Input

输入格式:

输入第一行给出正整数N(≤100)是输入的身份证号码的个数。随后N行,每行给出1个18位身份证号码。

Output

输出格式:

按照输入的顺序每行输出1个有问题的身份证号码。这里并不检验前17位是否合理,只检查前17位是否全为数字且最后1位校验码计算准确。如果所有号码都正常,则输出All passed。

Sample Input 1

Plain Text

4
320124198808240056
12010X198901011234
110108196711301866
37070419881216001X

Sample Output 1

Plain Text

12010X198901011234
110108196711301866
37070419881216001X

Sample Input 2

Plain Text

2
320124198808240056
110108196711301862

Sample Output 2

Plain Text

All passed
num = int(input())#输入个数
M = {0: '1', 1: '0', 2: 'X', 3: '9', 4: '8', 5: '7', 6: '6',7: '5', 8: '4', 9: '3', 10: '2'}#字典存Z与M对应关系
quan = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
uneffective = [] #把不满足的存入一个列表中
for i in range(num):number = list(input())#输入身份证号try:ber = list(map(int, number[:-1]))#前17位为整数话存入ber列表s = 0except:          #try ... except 为异常处理关键字,try有异常话直接抛出执行except,如果try没有异常只执行try,跳过exceptuneffective.append(number)#不符合存入该列表continue  #结束本次输入的身份证号循环for i in range(17):#0-16 共17位s += ber[i] * quan[i]  #总和s %= 11if M[s] != number[-1]:   # 最后1位是否 等于 Z对应的校验码uneffective.append(number)   #把不满足的存入该列表中
if len(uneffective) != 0:  #只要有长度,说明存入了身份证不合格的列表for i in uneffective:   #s输出不合格的print(''.join(i))
else:print('All passed') #全部合格

31. (程序题)【又见字符统计】

【题目描述】

输入英文字符,请按照字母表顺序统计字符串中所有出现的字母的个数(计数时不区分大小写),若输入的内容有误,则输出Error!

【输入描述】

一串只包含英文字母的字符。

【输出描述】

按题目要求输出。

【输入样例1】

HelloWorld

【输出样例1】

[0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0]

【输入样例2】

Hello, World!

【输入样例2】

Error

s=input().upper()  #/.lower()
a=[0 for i in range(26)]#26个0,计数作用
flag=0 #假
for i in s:if i>='A' and i<='Z':a[ord(i)-ord('A')]+=1 #通过ASCII码值确定字符在a列表中位置,并且出现一次加1一次else:flag=1
if flag:print('Error')
else:print(a)

32. (程序题)【不常见的单词】

Description

给定两个字符串 S1 和 S2 ,确保 S1 与 S2 都只有空格和单词组成。且保证每个单词仅由小写字母组成。

如果某个单词在其中一个句子中恰好出现一次,在另一个句子中却没有出现 ,那么这个单词就是 不常见的 。

给你两个 句子s1和s2 ,返回所有不常用单词的列表。返回列表中单词要求按 S1 中出现,S2中出现的顺序组织。

Input

输入格式:
两行,一行代表一个字符串

Output

输出格式:
一行,不常见单词列表

Sample Input 1

Plain Text

this apple is sweet this apple is sour

Sample Output 1

Plain Text

['sweet', 'sour']

s1=input().split()
s2=input().split()
l=[]
for i in range(len(s1)):#列表的索引必须是整数或者切片if s1[i] not in s2:l.append(s1[i])
for j in range(len(s2)):if s2[j] not in s1:l.append(s2[j])
print(l)

Python [必刷64道 基础程序题]相关推荐

  1. 学习Python必刷的100道经典实战练习真题(第010集 怎样对简单列表元素排序-第011集 怎样实现学生成绩排序)

    学习Python必刷的100道经典实战练习真题(第010集 怎样对简单列表元素排序-第011集 怎样实现学生成绩排序) 一,第010集 怎样对简单列表元素排序 二,第011集 怎样实现学生成绩排序 来 ...

  2. Python程序设计入门32道基础编程题目与参考代码

    声明 本文仅在CSDN发布,其他均为盗版.请支持正版! 正版链接: https://blog.csdn.net/meenr/article/details/107095894 目录 概述 1.简单数值 ...

  3. 2020对口高考计算机应用试题,2020安徽对口高考必刷卷(计算机应用基础部分)答案全...

    2020安徽对口高考必刷卷(计算机应用基础部分)答案全 ★★★2020安徽对口升学模拟必刷卷★★★ <计算机应用基础>试题汇总 一.填空题: 1.构建信息系统的四大要素分别是用户.信息设备 ...

  4. python必刷面试_Python面试必刷题系列(5)

    本篇是[Python面试必刷题系列]的第5篇文章.通过收集.整理Python真实面试题,给大家讲解面试中的python高频考察点,希望能够引起读者的足够重视. 往期回顾: Python中 is 和 = ...

  5. 面试必刷25道面试题(附答案)从容应对互联网大企面试

    收拾了一下自己学习Python过程中的笔记,将Python面试过程中经常涉及到的一些问题整理出来.没有总结到的知识点,欢迎大家在评论里提出来,另外准备了一些练手源码给大家,在文末底下名片即可直接领取~ ...

  6. 请编写程序编写前n个整数的全排列_26道基础算法题(请查收)

    1. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.(例如: 153是一个"水仙花数",因为153 ...

  7. Php45道基础知识题 以及答案与解释

    一:选择题(单项选择,每题2分): 1. LAMP具体结构不包含下面哪种( A ) A:Windows系统     L是linux B:Apache服务器     Apache代表LAMP中的A C: ...

  8. 零基础python必背代码-零基础小白Python入门必看:通俗易懂,搞定深浅拷贝

    Python中的深浅拷贝 在讲深浅拷贝之前,想先讲一下 is 和==的区别. 在进行对象是否相等比较的时候我们可以用is 和 == is:比较两个对象的引用是否相同,即它们的id 是否一样 == : ...

  9. 零基础python必背代码-零基础入门学习python 96集全

    零基础入门学习python 96集全 第000讲 愉快的开始(视频+课件)xa0 第001讲 我和Python第一次亲密接触(视频+课件)xa0 第002讲 用Python设第一个游戏(视频+课件+源 ...

最新文章

  1. XXL-CONF v1.4.1 发布,分布式配置管理平台
  2. 我的第一个Python程序
  3. ZAM 3D入门教程(5):Lathe编辑器
  4. python中 和is的区别_关于python中的is和==的区别
  5. 实现Jitsi SFU自动关闭/启动视频层
  6. php pc_base,phpcms二次开发之base.php的桥梁作用_PHP教程
  7. 2021餐饮外卖商户研究报告
  8. Cocos2d-x场景功能描述的生命周期
  9. h5居中loading_实现整个html居中最简单方法
  10. SCOM2012功能测试(25)—发布报表和收藏报表
  11. 【转】详解JavaScript中的this指针
  12. 链家广州二手房的数据与分析——数据分析1
  13. 文献综述是什么?怎么写?内附简洁模板
  14. 一文教你看懂POS单上的商户编号
  15. Google发展史 Google十三年
  16. pdf太大了怎么缩小?怎么能缩小pdf文件大小?
  17. VsCode中运行HTML页面时出现乱码
  18. springboot 实现图片上传功能
  19. 【转】经济学名词解释大全汇总
  20. DNS区域,域,子域的区别

热门文章

  1. 黑马大赛:2013年度十大创业家
  2. 飞机订票系统c语言80个座位,飞机订票系统设计
  3. 手机打开流量显示无服务器,手机无限流量服务器
  4. ajax怎么上传文件?注意事项
  5. 使用FileZilla上传和下载远程Linux服务器文件
  6. java select 下拉选项框option定位_java select 下拉选项框opt
  7. PHP_Ajax编程(1)
  8. python 蘑菇丁 日报 sign
  9. vue-quill-editor富文本编辑器及图片上传到服务器
  10. APP测试基本流程及测试要点