蓝桥杯Python-A组备战记录--day1
2022/1/14 14:03:48
本文主要是介绍蓝桥杯Python-A组备战记录--day1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
蓝桥杯Python-A组备战记录-day1
PYTHON常用函数
map()函数
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
map() 函数语法:
map(function, iterable, ...) ## function -- 函数 ## iterable -- 一个或多个序列
实例:
a = [1,2,3,4,5] b = list(map(lambda x: x ** 2, a)) print(b) ## 结果 [1, 4, 9, 16, 25] ## 在写算法题的时候map函数主要用于对读入的数据进行类型转换 ## 如 a = input().split() b = list(map(int, a)) print(a) print(b) ## 结果 1 2 3 4 ['1', '2', '3', '4'] [1, 2, 3, 4]
split() 函数
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
split() 函数语法:
str.split(str="", num=string.count(str)). ## str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 ## num -- 分割次数。默认为 -1, 即分隔所有。 # 实例 str = "hello python world !" print (str.split()) print (str.split(' ', 1 )) # 输出 ['hello', 'python', 'world', '!'] ['hello', 'python world !']
题目尝试
01背包问题
有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。
第 i件物品的体积是 Vi,价值是 Wi。
求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。
输出最大价值。
输入格式
第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。
接下来有 N 行,每行两个整数 Vi,Wi,用空格隔开,分别表示第 i件物品的体积和价值。
输出格式
输出一个整数,表示最大价值。
输出样例
4 5 1 2 2 4 3 4 4 5
输出样例:
8
代码
n, v = map(int, input().split()) goods = [] for i in range(n): goods.append([int(i) for i in input().split()]) print(goods) # 初始化,先全部赋值为0,这样至少体积为0或者不选任何物品的时候是满足要求 dp = [[0 for i in range(v+1)] for j in range(n+1)] for i in range(1, n+1): for j in range(1,v+1): dp[i][j] = dp[i-1][j] # 第i个物品不选 if j>=goods[i-1][0]:# 判断背包容量是不是大于第i件物品的体积 # 在选和不选的情况中选出最大值 dp[i][j] = max(dp[i][j], dp[i-1][j-goods[i-1][0]]+goods[i-1][1]) print(dp[-1][-1])
这篇关于蓝桥杯Python-A组备战记录--day1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-19Python编程基础
- 2024-10-19Python编程入门指南
- 2024-10-18Python编程基础
- 2024-10-18Python基础概念与实践
- 2024-10-18Python编程基础
- 2024-10-18Python开发基础:变量与类型
- 2024-10-16Python基础教程:从变量与类型开始
- 2024-10-16Python编程基础与进阶
- 2024-10-16Python编程基础教程
- 2024-10-16Python基础入门指南