浙大版《Python 程序设计》题目集 编程题第三章

第3章-1 大于身高的平均值

l=list(map(int,input().split()))
average=sum(l)/len(l)
for i in l:
    if i>average:
        print(i,end=' ')

第3章-2 查验身份证

l=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]	#权重表
zm=['1','0','X','9','8','7','6','5','4','3','2']	#模值验证码表
n=int(input())
cnt=0
for i in range(n):
    id=input()
    sum=0
    for i in range(17):
        if id[i].isdigit():
            sum+=l[i]*int(id[i])
        else:
            print(id)
            break
    if i==16:	#说明身份证号前17位都是数字
        z=sum%11
        if zm[z]!=id[-1]:
            print(id)
        else:
            cnt+=1
if cnt==n:
    print('All passed')

第3章-3 输出字母在字符串中位置索引

s=input()
char1,char2=input().split()
for i in range(len(s)-1,-1,-1):
    if s[i]==char1 or s[i]==char2:
        print(i,s[i])

第3章-4 查找指定字符

char=input()
s=input()
for i in range(len(s)-1,-1,-1):
    if s[i]==char:
        print('index =',i)
        break
else:
    print('Not Found')

第3章-5 字符转换

s=input()
print(int(''.join([i for i in s if i.isdigit()])))

第3章-6 求整数序列中出现次数最多的数

l=list(map(int,input().split()))
n=l.pop(0)
cnt={}
for i in l:
    cnt[i]=cnt.get(i,0)+1
for key,value in cnt.items():
    if value==max(cnt.values()):
        print(key,value)

第3章-7 求最大值及其下标

n=int(input())
l=list(map(int,input().split()))
print(max(l),l.index(max(l)))

第3章-8 字符串逆序

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

第3章-9 字符串转换成十进制整数

s=input()
sum=0
for i in s:
    if i.isdigit():
        sum=sum*16+ord(i)-48
    if 'a'<=i<='f':
        sum=sum*16+ord(i)-87
    if 'A'<=i<='F':
        sum=sum*16+ord(i)-55
for j in range(len(s)):
    if s[j].isdigit() or 'a'<=s[j]<='f' or 'A'<=s[j]<='F':
        break
if '-' in s and j>s.find('-'):
    sum=-sum
print(sum)

第3章-10 统计大写辅音字母

l=['A','E','I','O','U']
s=input()
cnt=0
for i in s:
    if i not in l and i.isupper():
        cnt+=1
print(cnt)

第3章-11 字符串排序

print('After sorted:')
print(*sorted(list(input().split())),sep='\n')

第3章-12 求整数的位数及各位数字之和

num=input()
s=[int(i) for i in num]
print(len(num),sum(s))

第3章-13 字符串替换

s=input()
l=''
for i in s:
    if i.isupper():
        i=chr(90-(ord(i)-65))   #'Z'减去字母到'A'的距离
    l+=i
print(l)

第3章-14 字符串字母大小写转换

s=input()
s=s[:-1]
for i in s:
    if i.isupper():
        print(i.lower(),sep='',end='')
    elif i.islower():
        print(i.upper(),sep='',end='')    
    else:
        print(i,sep='',end='')

第3章-15 统计一行文本的单词个数

s=list(input().split())
print(len(s))

第3章-16 删除重复字符

l=input()
for i in sorted(list(set([i for i in l]))):
    print(i,sep='',end='')

第3章-17 删除字符

s=input().strip()
c=input().strip()
result=[i for i in s if i!=c.lower() and i!=c.upper()]
print('result:',''.join(result))

第3章-18 输出10个不重复的英文字母

s=input()
l=''
for i in s:
    if i.isalpha() and i.lower() not in l and i.upper() not in l:
        l+=i
    if len(l)==10:
        break
if len(l)<10:
    print('not found')
else:
    print(l)

第3章-19 找最长的字符串

n=int(input())
l=[]
max=0
maxi=0
for i in range(n):
    s=input()
    if len(s)>max:
        max=len(s)
        maxi=i
    l.append(s)
print('The longest is:',l[maxi])

第3章-20 逆序的三位数

x=int(input())
while x%10==0:
    x=x//10
print(str(x)[::-1])

第3章-21 判断回文字符串

s=input()
t=s[::-1]
print(s)
if s==t:
    print('Yes')
else:
    print('No')

第3章-22 输出大写英文字母

s=input()
l=''
for i in s:
    if i.isupper() and i not in l:
        l+=i
if len(l)==0:
    print('Not Found')
else:
    print(l)

你可能感兴趣的:(浙大版《Python程序设计》)