学习目标:准备蓝桥杯–20天倒计时

  • [ 目标]20天搞定至少省二!!!值得花的300块钱。

目前状态:
Python基本语法都会
学过数据结构(c++)版
刷了不到50道题,还没有怎么刷过真题

学习内容:

  1. 复习输入输出格式的操作,包括浮点数输出、字符类型等。(1天)
  2. 掌握python字典、数组常用的操作和函数。(1天)
  3. 根据蓝桥杯特点,掌握基本的算法:数字处理、进制转换、质数、日期处理…
  4. 掌握动态规划,多刷点题,好好理解。

学习时间:

每天


备注:

时间剩的已经非常紧迫了,还好自己每天的空余时间比较多。可以泡图书馆等大把的学习时间。那就临阵练枪了,尽快高效起来,没时间啦。

**

第一天:3月21日,倒计时19天

**

任务:

  1. 复习输入输出格式的操作,包括浮点数输出、字符类型等。(1天)
  2. 掌握python字典、数组常用的操作和函数。(1天)

过程:
1.输入输出练习:
在博客找了3篇练习的博客,(例如:『ACM入门』蓝桥杯ACM训练系统基本输入输出教程(Python版))跟着练习一下。
链接如下:
『ACM入门』蓝桥杯ACM训练系统基本输入输出教程(Python版)
http://t.csdn.cn/ALt1m
牛客竞赛OJ在线编程常见输入输出练习场题解(Python版)
http://t.csdn.cn/Tw9tC
蓝桥杯python 自己随意总结——输入输出
http://t.csdn.cn/3wUeV
开始!
①不断地输入多组数据,以回车结束。求a+b之和:
样例输入
1 5
10 20

while True:try:a,b=map(int,input().split())print(a+b)except:btrak

②依然是求A+B,但它的第一行为输入数据的组数,输入数据为:
2
1 5
10 20
代码:

n=int(input())for i in range(n):a,b=map(int,input().split())print(a+b)

③依然是A+B,不同的是题目中说明,有多组数据,但是以A和B都为0时结束

while True:a,b=map(int,input().split())#map()函数操作对象是可迭代的对象,列表、字典等,返回也是一个迭代器,可以x=list(map())转化为列表。if a==0 and b==0:breakelse:print(a+b)

④题目描述:此类题目是求n个数的和,输入为先输入一个数组n,然后后面跟n个数字,求这n个数字的和。同样有多组数据,当n=0时结束。
样例输入:
4 1 2 3 4
5 1 2 3 4 5
0
样例输出:
10
15

while True:ls=input().split()for i in range(len(ls)):ls[i]=int(ls[i])if len(ls)==1 and ls[0]==0:breakelse:sum=0for i in range(1,ls[0]+1):sum+=int(ls[i])print(sum)

⑤对输入的字符串排序后输出
输入有两行,第一行是n
第二行是n个字符,用空格分开

n=int(input())str1=input().split()str1.sort()#这里用到了sort函数for i in range(n):print(str1[i],end=" ")

⑥对输入的字符串排序后输出
每一行输入为一组数据

输入样例:a bb cc f es d tf f
代码:while True:try: str1=input().split()str1.sort()for i in range(len(str1)):print(str1[i],end=" ")print()except:break

⑦读入一个矩阵

n=int(input())board=[]for i in range(n):board.append(input().split())
输出为:[['1', '1', '1', '1'], ['1', '1', '1', '1'], ['1', '1', '1', '1'], ['1', '1', '1', '1']]
附上对列表的数据类型变换:代码:board.append(list(map(int,input().split())))结果:[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]

⑧初始化矩阵
#初始化一个n*m的零阵
dp = [[0] * n for _ in range(m)]

输出格式转载自http://t.csdn.cn/I2K2l
输出大小:

# 0:3.14|*:填充多出的空格(便于观察)| 10:3.14占的位置大小print('--{0:*10}--{0:*=7}'.format(3.14))

数字进制输出:

print('十进制:{0:d},十六进制:{0:x},八进制:{0:o},二进制:{0:b}'.format(31))#带'#'有进制前缀print('十六进制:{0:#x},八进制:{0:#o},二进制:{0:#b}'.format(31)) 

保留小数:

# 转化为百分比并保留两位小数print('百分比:{:.2%}'.format(0.555555))# 保留两位小数print('保留两位小数:{:.2}'.format(0.555555))

将一个数组输出,空格隔开

line=[1,1,1,1]str_array = " ".join(map(str, line))

2.掌握集合、字典、数组常用的函数

一定要记得使用 x in project省步骤
**
(1)集合的函数
创建:可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
S=set()
basket = {‘apple’, ‘orange’, ‘apple’, ‘pear’, ‘orange’, ‘banana’}
添加元素:s.add( x )
添加:还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下:
s.update( x )#添加多个元素,分别添加进去了
移除:
s.remove( x ) # 不存在会发生错误
s.discard( x ) #不存在不会错误
计数:
len(s)
是否存在
X in set