蓝桥杯-D1

一、安装python3.8.6

找IDEL找了好久,最后搜索出来了,发送到桌面快捷方式了。

二、基础练习 A+B问题

1、不知道怎么输入,看一下别人怎么写的。
2、输入用input,类型为str
3、用split分割,默认分割空格,第二个参数为分割次数。
4、sum()内参数是可迭代的,如数组之类的。

三、基础练习 数列排序(复习)

1、还是不知道如何输入,看下别人怎么写的
input()应该是\n结束。
2、IDLE可以打印数组,但是打印nums.sort()返回值为None
3、print函数可以使用参数end=’ ’
4、下面的代码错了,因为没有转换为int型

n = int(input())
nums = input().split()
print(nums.sort())nums.sort()
for i in nums:
    print(i, end=' ')

5、更新后的代码,加了一个map映射.还是不对,应该是因为没有转换为list导致的。

n = int(input())
nums = map(int,input().split())
nums.sort()
for i in nums:
    print(i, end=' ')

6、最后终于通过了。

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

四、十六进制转八进制(复习)

1、还是丝毫无思路呀,python有什么快捷方法吗
2、进制转换知识点
进制换八进制oct(int(n,2))先将二进制换为十进制再将十进制换位八进制
二进制bin()
十进制int()
八进制oct()
十六进制hex()

3、进制转换后记得先打印出来看看转换后的格式,然后再做处理。
4、代码

n = int(input())
for i in range(n):
    a = int(input(),16)
    b = oct(a)
    print(b[2:])

五、十六进制转十进制

1、比较简单

a = int(input(),16)
print(a)

六、基础练习 十进制转十六进制

1、十六进制是hex()
2、别忘了切片
3、代码错了,应该是没转换成大写

a = hex(int(input()))
print(a[2:])

4、用upper()
lower()
title()
5、代码

a = hex(int(input()))
print(a[2:].upper())

七、基础练习 特殊回文数(复习)

1、可以暴力,不知道有没有更好的办法。
2、如果暴力的话,先判断是否为回文,再判断是否相加为n会快一些,因为判断是否相加为n,也需要循环一次。
3、单独用是sorted,应该是先切片再反转。

n = int(input())
my_list = []
for i in range(100,1000):
    if sum(map(int,str(i)+str(i)[:2:-1]))==n:
        my_list.append(str(i)+str(i)[:2:-1])
    if sum(map(int,str(i)+str(i)[::-1]))==n:
        my_list.append(str(i)+str(i)[::-1])
for j in sorted(map(int,my_list)):
    print(j)
        

4、上一步错应该是逆序切片的问题,从0开始向左切片,直接就没了。
对于5位的数,要想一步写完,就用str(i)[1::-1],从第二位往左写。
具体参考https://blog.csdn.net/firethelife/article/details/51253027

n = int(input())
my_list = []
for i in range(100,1000):
    if sum(map(int,str(i)+str(i)[:2][::-1]))==n:
        my_list.append(str(i)+str(i)[:2][::-1])
    if sum(map(int,str(i)+str(i)[::-1]))==n:
        my_list.append(str(i)+str(i)[::-1])
for j in sorted(map(int,my_list)):
    print(j)
        

八、基础练习 回文数

1、感觉比上一题还要简单,直接print就可以了
2、代码

my_list=[]
for i in range(10,100):
    my_list.append(str(i)+str(i)[::-1])
for i in sorted(map(int,my_list)):
    print(i)

九、试题 基础练习 特殊的数字

1、直接暴力,三层循环加判断,可能超时。
2、直接暴力,从100-999进行判断。
3、看看有无其他方法。大家用的都是2的方法。
4、代码

my_list=[]
for i in range(100,1000):
    num1,num2,num3 = int(str(i)[0]),int(str(i)[1]),int(str(i)[2])
    if num1**3+num2**3+num3**3==i:
        my_list.append(i)
for j in my_list:
    print(j)

十、看下别人怎么学的

https://blog.csdn.net/Joe_Morningstar/article/details/118858478
因为下一步想刷真题,所以先看下别人是怎么学的。发现推荐先去看基础知识。
1、看acwing网课
2、刷真题
3、刷leetcode

你可能感兴趣的:(python,蓝桥杯2022,数据结构,蓝桥杯,职场和发展,算法)