冲刺蓝桥杯,GOGOGO

学习目标:准备蓝桥杯–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:
        break
    else:
        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:
        break
    else:
        sum=0
        for 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 c
c f e
s 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:*^10}--{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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值