今年十八,蓝桥速刷(Python-I)
创始人
2024-05-02 11:18:48

前言

🍀作者简介:被吉师散养、喜欢前端、学过后端、练过CTF、玩过DOS、不喜欢java的不知名学生。

🍁个人主页:红中

🍂专栏地址:python专栏

抽根烟先

 蓝桥杯是个啥

蓝桥杯,又称圈钱杯(不是

是由工信部 人才交流中心举办的全国性专业信息技术赛事

 图片引自一篇详情介绍带你了解什么是蓝桥杯。 - 知乎

省一进国赛,只要进国赛至少拿国三,听说2023年的国赛在北大举行,所以北大见

奖金还挺多的,虽然没有打ctf挣得多。。。

不多叭叭,开始刷题

关于A+B的两种题型

1、简单的A+B

资源限制时间限制:1.0s 内存限制:256.0MB问题描述输入A、B,输出A+B。输入格式输入的第一行包括两个整数,由空格分隔,分别表示A、B。输出格式输出一行,包括一个整数,表示A+B的值。样例输入12 45样例输出57数据规模与约定-10000 <= A, B <= 10000。

分析下代码:

 a,b = map(int,input().split())print(a+b)

首先呢,发现引用了几个函数,分别介绍下

input()

从键盘读取内容,没啥讲的。

split()

这个函数相对来说不是很好理解

该函数主要用于python读取多个数据,通过其读取后为列表形式

至于如何分割,就看你想怎么设置分隔符了。

看上图,第二行在遇到\n时分割。
说第三行,以空格为分隔符,分成两份,至于后面的'1',就是0,1,2,3,4这玩意

如果把1改成0,整个str就变成了一块,分割不开那种。

map()

map(A,B)

A默认为函数,map()负责将B中的每一个元素通过A转换为相应的结果

那么在本题中,就是将通过split()读取进来的数组成的列表转换为int,也就是整形形式。

 2、搞心态的A+B

题目描述
输入两个整数a和b,计算a+b的和本题很简单,但是注意此题是多组测试数据,即需要不停的接收系统的测试输入,你都可以计算结果并输出输入格式
输入两个整数A和B范围不超过2^10输出格式
求A+B样例输入
复制1 1
10 20
样例输出
复制2
30

如果问我在python里最烦的是什么,那我肯定说是try,expect方法

不巧,本题用的就是

首先呢,这种方法和上面的差不多,ex就ex在它是不停输入的一个玩意,需要通过读取异常来实现退出

那么不多bb,直接看代码

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

三个语法点:

while循环

没啥讲的吧

python中的while循环比较简单,无大括号,只需加个":"

如果需要对其施加执行条件,按下图搞就行,注意缩进,这玩意在python中很重要

 至于

while True:

就是固定执行下列循环

strip()

这个函数挺好理解的,就是去除字符串左右两侧的空格或指定字符串,相应的衍生函数有

  • lstrip():去除左侧空格指定字符串(left)
  • rstrip():去除右侧空格指定字符串(right)

 然后就是最不想讲的try/except了

try/except

其实也没啥复杂的,就是自己有点膈应这玩意

首先执行try中的代码,如果里面的函数引起了程序的错误,那么就执行except中的代码

数列

资源限制时间限制:1.0s 内存限制:512.0MB问题描述给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式第一行为一个整数n。   第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式输出一行,按从小到大的顺序输出排序后的数列。样例输入5 8 3 6 4 9样例输出3 4 6 8 9

说白了就是一个简单的排序

方法一

n = int(input())
li = list(map(int,input().split()))
li.sort()
for i in li:print(i,end=" ")

分析分析代码

没啥难的

sort()

 

 这函数默认升序

如果想整成降序

sort(reverse=True)

为啥?

因为这玩意默认reverse = False(升序)

至于为啥用split()读取之后还要在外面费力搞map+list

原因如下图

 左侧是整型列表,右侧是字符型列表

然后是

for循环

 for循环拿这里的举个栗子吧

for i in li

很明显li是咱们创建的列表,那i是啥?

看看代码

in 表示 i是li 里面的数字

那么就可以理解成i是li里第一位元素

通过for循环不断迭代至下一个元素直至整个列表的最后一位。

至于最后的print格式化输出后面再说

方法二

n = int(input())
li = list(map(int,input().split()))
li.sort()
for i in li:if n == 1:print("",end=str(i))breakprint(str(i),end=" ")

 这个直接看下图吧

图片引自菜鸟教程-print()



 递归:母牛的故事

我愿称之为母牛无性繁殖的故事

题目描述
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?输入格式
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0

分析代码

while True:n=int(input())l=[1,2,3]if n==0:breakelse:for i in range(3,n):l.append(l[i-1]+l[i-3])print(l[n-1])

因为小母牛是从第四年开始生娃的,所以每年比上年的增加量就是三年前的母牛数量,所以当年的母牛数量等于前一年的母牛数量加上前三年的母牛数量

这个里的知识点就先不讲了,累了

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...