python_蓝桥杯刷题记录_笔记_入门1

前言

现在正式进入蓝桥杯的刷题啦,第一次用python来做算法题,因为我之前其实都是用C++来做题的,但是今年的话我打算换python来试试,很明显因为也才这学期接触python 加上之前C++做题也比较菜,所以我打算用python重新来做题,就从最简单的开始,熟悉python的语法。然后在这里的话就是记录笔记,十分潦草哈哈哈哈,方便自己后面复习哈哈哈哈。

题单目录

[1.P1000 超级玛丽游戏](#1.P1000 超级玛丽游戏)

[2.P1001 A+B Problem](#2.P1001 A+B Problem)

[3.P1421 小玉买文具](#3.P1421 小玉买文具)

[4.P1425 小鱼的游泳时间](#4.P1425 小鱼的游泳时间)

[5.P1422 小玉家的电费](#5.P1422 小玉家的电费)

[6.P1085 NOIP2004 普及组 不高兴的津津](#6.P1085 [NOIP2004 普及组] 不高兴的津津)

[7.P1909 NOIP2016 普及组 买铅笔](#7.P1909 [NOIP2016 普及组] 买铅笔)

[8.P1008 NOIP1998 普及组 三连击](#8.P1008 [NOIP1998 普及组] 三连击)


1.P1000 超级玛丽游戏

python里,用三引号开头和结尾可以起到输出带格式文本的效果。

python 复制代码
print('''                ********
               ************
               ####....#.
             #..###.....##....
             ###.......######              ###            ###
                ...........               #...#          #...#
               ##*#######                 #.#.#          #.#.#
            ####*******######             #.#.#          #.#.#
           ...#***.****.*###....          #...#          #...#
           ....**********##.....           ###            ###
           ....****    *****....
             ####        ####
           ######        ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
##########################################    #----------#
#.....#......##.....#......##.....#......#    #----------#
##########################################    #----------#
#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#
##########################################    ############
''')

2.P1001 A+B Problem

在python中怎么输入两个以空格隔开的整数

python 复制代码
a,b = list(map(int,input().split()))
print(a+b)

3.P1421 小玉买文具

/ (常规除)

如:

5 / 2 = 2.5

解释:平常除法是什么结果就是什么结果。

//(地板除)

如:

5 // 2 = 2 (5 ÷ 2 = 2.5)

5 // 3 = 1 (5 ÷ 3 = 1.6666666666666667)

解释:地板除,只去除完之后的整数部分。

% (取余数)

如:

5 % 2 = 1 (5 - 2*2 = 1)

4 % 2 = 0 (4 - 2*2 = 0)

7 % 3 = 1 (7 - 3*2 = 1)

13 % 5 = 3 (13 - 5*2 = 3)

解释: 就是一个取余数的操作,除开被除数的倍数,余下几就得几。上面红色的数字带表被除数的倍数。

python 复制代码
a,b = list(map(int,input().split()))
sum = a*10 + b
num = sum//19
print(num)

4.P1425 小鱼的游泳时间

一行输入多个整数也可以用map

python 复制代码
a,b,c,d = map(int,input().split())
begin = a*60+b
end = c*60+d
time_ = end-begin
time_hour = time_//60
time_min = time_%60
print(f'{time_hour} {time_min}')

5.P1422 小玉家的电费

这里涉及到有关小数点保留的问题

python 复制代码
a = int(input())
if a>150:
   if a>400:
       sum = 150*0.4463 + 250*0.4663 + (a-400)*0.5663
   else:
       sum = 150*0.4463 + (a-150)*0.4663
else:
    sum = a*0.4463
print('%.1f' %sum)

6.P1085 NOIP2004 普及组 不高兴的津津

多行数据我用的是循环

python 复制代码
s = []
flag = 1
day = 1
for i in range(7):
    a,b = map(int,input().split())
    sum = a+b
    s.append(sum)
for i in range(7):
    if s[i]>8 and s[i]>s[day-1]:
        flag = 0
        day = i+1
if flag:
    print(0)
else:
    print(day)

7.P1909 NOIP2016 普及组 买铅笔

这里关于min_price的大小我真的花了好长时间才发现,不然一直都在WA。变量的范围真的要注意!!!!

还有这里涉及到取整的问题。

import math

  • 向上取整:math.ceil()
  • 四舍五入:round()
  • 向下取整:math.floor()
python 复制代码
num = int(input())
s = []
min_price = 10000000
import math
for i in range(3):
    a, b = list(map(int, input().split()))
    price = math.ceil(num / a) * b
    if price < min_price:
        min_price = price
print(min_price)

8.P1008 NOIP1998 普及组 三连击

这一道题的话就是遍历三位数,但是可以通过数学比例来缩小循环的范围。

还有一个数学技巧就是怎么才算是用上了所有1---9的数字,可以通过和以及乘积来规定。

python 复制代码
for a in range(123,333):
    b = a*2
    c = a*3
    a1 = a % 10
    a2 = (a//10) % 10
    a3 = a//100
    b1 = b % 10
    b2 = (b // 10) % 10
    b3 = b // 100
    c1 = c % 10
    c2 = (c // 10) % 10
    c3 = c // 100
    if a1+a2+a3+b1+b2+b3+c1+c2+c3==45 and a1*a2*a3*b1*b2*b3*c1*c2*c3==1*2*3*4*5*6*7*8*9:
        print(f'{a} {b} {c}')

9.总结

今天有点偷懒哈哈哈哈,明天尽量做多一点,争取把这些简单题快速过一遍,熟悉熟悉python的语法。

相关推荐
专注仿真3 小时前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
Best-Wishes4 小时前
科来网络分析系统(技术交流版)使用说明书
开发语言·junit·php
代码不停4 小时前
自动化测试(java)
java·开发语言·selenium·自动化
滕州市燕猫虎计算机科技工作室个体工商户4 小时前
《Rust程序设计》学习笔记八:结构体
笔记·学习·rust·rust程序设计
Smoothcloud润云5 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
databook5 小时前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy
棉猴5 小时前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun
志尊宝6 小时前
Vue3 零基础每日笔记(082):文件上传实战——el-upload 校验、自定义上传、头像预览
前端·javascript·vue.js·笔记·#javascript·#vue.js
诺伦6 小时前
GEO优化数据实证:78%引用流向官网的机制拆解与小品牌三步管线实战教程 | RiseClaw玄策
python·seo·geo·内容营销·ai搜索
oooost6 小时前
pytorch学习笔记1
python·学习方法