前言
现在正式进入蓝桥杯的刷题啦,用python来做算法题,因为我之前其实都是用C++来做题的,但是今年的话我打算换python来试试,很明显因为也才这学期接触python 加上之前C++做题也比较菜,所以我打算用python重新来做题,就从最简单的开始,熟悉python的语法。然后在这里的话就是记录笔记,十分潦草哈哈哈哈,方便自己后面复习哈哈哈哈。
题单目录
1.P1035 [NOIP2002 普及组] 级数求和
2.P1423 小玉在游泳
3.P1424 小鱼的航程(改进版)
4.P1980 [NOIP2013 普及组] 计数问题
5.P1427 小鱼的数字游戏
6.P1428 小鱼比可爱
1.P1035 [NOIP2002 普及组] 级数求和
k = int(input())
n = 1
s = 0
while 1:
s += 1/n
if s > k:
print(n)
break
n += 1
2.P1423 小玉在游泳
s = float(input())
n = 2
k = 0
count = 0
while 1:
k += n
n *= 0.98
count += 1
if k>=s:
break
print(count)
3.P1424 小鱼的航程(改进版)
x,n = map(int,input().split())
l = 0
for i in range(n):
if x!=6 and x!=7:
l += 250
if x==7:
x=1
else:
x += 1
print(l)
4.P1980 [NOIP2013 普及组] 计数问题
这一道题我自己的方法就是很传统的用C++的想法来做的,但是我可是用的python啊,然后就是取余,来看余数是否相等,很显然我的答案超时了,结果看到了一个大佬用的python的代码,我去还有这么好的方法!!!!(激动)
extend() 函数的功能:
用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
extend()方法语法:
list.extend(seq)count() 方法:
用于统计字符串里某个字符或子字符串出现的次数。可选参数为在字符串搜索的开始与结束位置。
count()方法语法:
str.count(sub, start= 0,end=len(string))
n,x=input().split(" ")
n=int(n)
l=[]
for i in range(1,n+1):
l.extend(list(str(i)))
print(l.count(x))
5.P1427 小鱼的数字游戏
这道题我又想的太复杂了,我一直都在想python怎么去输入这样的格式。真的是想多了。
pop() 函数:
用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
pop()方法语法:
list.pop([index=-1])
l = input().split()
l.pop()
for i in range(1,len(l)+1):
k = len(l)-i
print(f'{l[k]}',end=' ')
6.P1428 小鱼比可爱
n = int(input())
l = input().split()
s = []
for i in range(n):
ans = 0
for j in range(i):
if l[i]>l[j]:
ans += 1
s.append(ans)
for i in range(n):
print(s[i],end=' ')
7.总结
明天一定要开始好好学习,我说真的!!!!虽然假期也不要摆烂,明天真的一定好好学习。
今天的话题目很简单,但是我总是想到一些奇怪的点,导致不知道怎么做,好在可以百度哈哈哈哈哈哈哈。
大家如果有什么更好的方法欢迎补充哈哈哈哈哈。