浙大版《Python 程序设计》题目集第三章答案(自用)

第3章-1 3-1.大于身高的平均值 (10分)
list1 = input().split()
number = len(list1)
list2 = []
for i in list1:
    list2.append(int(i))
summ = sum(list2)
avgHeight = summ/number
for i in list2:
    if i > avgHeight:
        print(i,end = " ")
    
第3章-2 查验身份证 (15分)
number =int(input())
weight = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]

Z = [0,1,2,3,4,5,6,7,8,9,10]
M = ['1','0','X','9','8','7','6','5','4','3','2']
E = ['1','0','9','8','7','6','5','4','3','2']

flag1 = 0
for i in range(number):
    test = input()
    summ = 0
    flag = 0
    for j in range(0,17):
        if test[j] not in E:
    
            flag = 1
        if flag !=1:
            summ += weight[j]*int(test[j])
    if flag == 1:
        print(test)
        flag1 = 1
    else:
        z = summ % 11
    
        m = M[z] 
        if str(m) != test[-1]:
            print(test)
            flag1 = 1
if flag1 == 0:
    print("All passed")
第3章-3 输出字母在字符串中位置索引 (20分)
string1 = input()
a,b = input().split()
length = len(string1)
list1 = []
list2 = []
for i in range(length):
    if string1[i] == a:
        list1.append(i)
    if string1[i] == b:
        list2.append(i)
    
list1.reverse()
list2.reverse()

for i in list2:
    print(i,b)
for i in list1:
    print(i,a)
第3章-4 查找指定字符 (15分)
character = input()
string1 = input()
list1 = []
if character in string1:
    for i in range(len(string1)):
        if character == string1[i]:
            list1.append(i)
    print("index =",list1[-1])
else:
    print("Not Found")
第3章-5 字符转换 (15分)
string1 = input()
list1 = []
for i in string1:
    if i >= '0' and i <= '9':
        list1.append(int(i))
length = len(list1)
list1.reverse()
summ = 0
for i in range(length):
    summ += list1[i]*pow(10,i)
print(summ)
第3章-6 求整数序列中出现次数最多的数 (15分)
list1 = input().split()
count = 0
count_max = 0
number = 0
length = len(list1)

for i in range(length):
    for j in range(length):
        if list1[i] == list1[j]:
            count += 1
    
    if count > count_max:
        number = list1[i]
        count_max = count
 
    count = 0
if length == 1 or length == 2:
    count_max = 1
    number = list1[0]
print(number,count_max)
第3章-7 求最大值及其下标 (20分)
length = int(input())
list1 = input().split()
list2 = []
for i in list1:
    list2.append(int(i))
list3 = list2[:]
list3.sort()
maxx = list3[-1]
print(maxx,list2.index(maxx))
第3章-8 字符串逆序 (15分)
string1 = input()
list1 = []
for i in string1:
    list1.append(i)
list1.reverse()
for i in list1:
    print(i,end="")

字符串.isalnum()  所有字符都是数字或者字母,为真返回 Ture,否则返回 False。

字符串.isalpha()   所有字符都是字母,为真返回 Ture,否则返回 False。

字符串.isdigit()     所有字符都是数字,为真返回 Ture,否则返回 False。

字符串.islower()    所有字符都是小写,为真返回 Ture,否则返回 False。

字符串.isupper()   所有字符都是大写,为真返回 Ture,否则返回 False。

字符串.istitle()      所有单词都是首字母大写,为真返回 Ture,否则返回 False。

字符串.isspace()   所有字符都是空白字符,为真返回 Ture,否则返回 False。
第3章-9 字符串转换成十进制整数 (15分)
string1 = input()
check = "'1234567890abcdefABCDEF'"
count = 0
string2 = ""
for i in string1:
    if i in check:
        string2 += i
if string2 == "":
    print('0')
else:
    
    index1 = string1.find(string2[0])
    index2 = string1.find("-")
    if index1 > index2:
        print(-int(string2,16))
    else:
        print(int(string2,16))

    print(int(string2,16))

第3章-10 统计大写辅音字母 (15分)
string1 = input()
count = 0
list1 = ["A","E","I","O","U"]
for i in string1:
    if i.isupper() and i not in list1:
        count += 1;
print(count)
第3章-11 字符串排序 (20分)
string1 = input()
list1 = string1.split()
list1.sort()
print("After sorted:")
for i in list1:
    print(i)
第3章-12 求整数的位数及各位数字之和 (15分)
string1 = input()
list1 = []

total = 0
length = len(string1)
for i in range(length):
    list1.append(int(string1[i]))
for i in list1:
    total += i
print(length,total)
第3章-13 字符串替换 (15分)
string1 = input()
list1 = []
for i in string1:
    if i >= 'A' and i <= 'Z':
        list1.append(chr(155-ord(i)))
    else:
        list1.append(i)
for i in list1:
    print(i,end = "")
第3章-14 字符串字母大小写转换 (15分)
string1 = input()
list1 = []
for i in string1:
    if i == '#':
        break
    if i >= 'a' and i <= 'z':#isuppe()r islower()
        list1.append(i.upper())
    elif i >= 'A' and i <= 'Z':
        list1.append(i.lower())
    else:
        list1.append(i)
for i in list1:
    print(i,end = "")
第3章-15 统计一行文本的单词个数 (15分)
list1 = input().split()
print(len(list1))

第3章-16 删除重复字符 (20分)
string1 = input()

list1 = []
for i in string1:
    if i not in list1:
        list1.append(i)
list1.sort()
for i in list1:
    print(i,end="")
第3章-17 删除字符 (30分)
string1 = input().strip()
character1 = input().strip()
list1 = []
for i in character1:
    if i not in list1:
        list1.append(i.upper())
        list1.append(i.lower())

print("result: ",end = "")
for i in string1:
    if i not in list1:
        print(i,end = "")
第3章-18 输出10个不重复的英文字母 (30分)
string1 = input()
length = len(string1)
string2 = ""
for i in string1:
    if i.isalpha() and i.lower() not in string2 and i.upper() not in string2:
        string2 += i
if(len(string2)>=10):
    print(string2[:10])
else:
    print("not found")



第3章-19 找最长的字符串 (15分)
n = int(input())
maxx = ""
for i in range(n):
    tmp = input()
    if len(tmp) > len(maxx):
        maxx = tmp
print("The longest is:",maxx)
第3章-20 逆序的三位数 (10分)
string1 = input()
list1 = []
length = len(string1)
for i in range(length):
    list1.append(string1[i])
list1.reverse()

summ = 0
for i in range(length):
    summ += int(list1[i])*pow(10,length-1-i)
print(summ)
第3章-21 判断回文字符串 (15分)
string1 = input()
length = len(string1)
list1 = []
flag1 = 0
for i in range(length):
    list1.append(string1[i])
if length%2 == 0:
    for i in range(length//2):
        j = -i-1
        if list1[i]!=list1[j]:
            flag1 = 1
else:

    for i in range((length-1)//2):
        j = -i-1

        if list1[i]!=list1[j]:
            flag1 = 1
if flag1 == 0:
    print(string1)
    print("Yes")
else:
    print(string1)

    print("No")
第3章-22 输出大写英文字母 (15分)
string1 = input()
length = len(string1)
list1 = []
for i in range(length):
    if string1[i] not in list1 and string1[i].isupper():
        list1.append(string1[i])
if list1 == []:
    print("Not Found")
else:
    for i in list1:
        print(i,end = "")

发布了21 篇原创文章 · 获赞 0 · 访问量 486

猜你喜欢

转载自blog.csdn.net/qq_39901722/article/details/104616537