ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

浙大版《Python程序设计》题目集(第六章)

2021-10-27 21:01:51  阅读:222  来源: 互联网

标签:count deep Python sum 浙大 strs num ls 第六章


第6章-1 输入列表,求列表元素和(eval输入应用)

ls = eval(input())
sum = 0
for t in ls:
    sum = sum + t
print(sum)

第6章-2 一帮一

num = eval(input())
count = 1
students = []
match = []
cnt = 0
while count <= num:
    stu = input().split(" ")
    students.append(stu)
    count = count + 1
start = 0
end = len(students) - 1
while start < end:
    if students[start][0] != students[end][0]:
        match.append(students[start][1])
        match.append(students[end][1])
        students.pop(end)
        start = start + 1
        end = len(students) - 1
    else:
        end = end - 1
for t in match:
    cnt = cnt + 1
    if cnt % 2 == 0:
        print(t)
    else:
        print(t,end = ' ')

第6章-3 列表或元组的数字元素求和

strs = input()
strs = strs.replace("["," ")
strs = strs.replace("]"," ")
strs = strs.replace("("," ")
strs = strs.replace(")"," ")
strs = strs.replace(","," ")
s = ''
flag = 0
sum = 0
for str in strs:
    if str == '"':
        flag = flag + 1
    if flag % 2 == 0 and str != '"':
        s = s + str
        print(s)
s = s.split()
for t in s:
    sum = sum + int(t)
print(sum)

第6章-4 列表数字元素加权和(1)

#采用递归思想实现
def deep_sum(ls,deep):
    sum = 0
    for i in ls:
        if isinstance(i,int):
            sum = sum + i * deep
        elif isinstance(i,list):
            sum = sum + deep_sum(i,deep + 1)
    return sum
ls = eval(input())
print(deep_sum(ls,1))

第6章-5 列表元素个数的加权和(1)

def count_list(ls,deep):
    count = 0
    for i in ls:
        if not isinstance(i,list):
            count = count + 1 * deep
        elif isinstance(i, list):
            count = count + count_list(i,deep + 1)
    return count
ls = eval(input())
print(count_list(ls,1))

第6章-6 求指定层的元素个数

def count_num(ls,deep):
    count = 1
    num = 0
    for i in ls:
        if isinstance(i,list):
            count = count  + 1
            if count == deep:
                num = num + len(i)
                break
            else:
                num = num + count_num(i,deep - 1)
        else:
            if count == deep:
                num = num + len(ls)
                break
    return num
ls = eval(input())
deep = eval(input())
print(count_num(ls,deep))

第6章-7 找出总分最高的学生

num = eval(input())
count = 1
ls = []
sum_max = 0
index = 0
while count <= num:
    info = input().split(" ")
    ls.append(info)
    count = count + 1
sum_max = sum_max + int(ls[0][2]) + int(ls[0][3]) + int(ls[0][4])
for i in range(1,len(ls)):
    if int(ls[i][2]) + int(ls[i][3]) + int(ls[i][4]) > sum_max:
        sum_max = int(ls[i][2]) + int(ls[i][3]) + int(ls[i][4])
        index = i
print(ls[index][1],ls[index][0],sum_max,end = '')

第6章-8 输出全排列

def all_sort(i,s = ""):
    s = s + i
    if len(s) < num:
        for j in strs:
            if j not in s:
                all_sort(j,s)
    else:
        print(s)
num = eval(input())
strs = [str(i + 1) for i in range(num)]
for i in strs:
    all_sort(i)

标签:count,deep,Python,sum,浙大,strs,num,ls,第六章
来源: https://www.cnblogs.com/centimeter73/p/15472889.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有