蓝桥杯Python 基础试题

本文详述了蓝桥杯官网Python基础题库的17道题目,包括A+B问题、数列、进制转换、回文数、杨辉三角、闰年判断等,并提供了相关编程解决方案,如回文数的a[::-1]处理和利用sum进行数列求和。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文收录了蓝桥杯官网题库中的python基础试题 共17道,均已在蓝桥杯官网验证正确

参考链接: 

​​​​​​https://blog.youkuaiyun.com/yingyuzhai/article/details/122498052

1 A+B问题

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

2 数列问题

n=int(input())
if 1<=n<=200:
    a=list(map(int,input().split()))
    for i in range(n):
        if abs(a[i])>=10000:
            error()
    a.sort()
    #print(a)不对
    for i in range (n):
        print(a[i],end=' ')

3 十六进制转八进制

b=[]
n=int(input())
if 1<=n<=10:
    for i in range(n):
        a=input()
        c=oct(int(a,16))
        b.append(c[2:])
    for i in range(n):
        print(b[i])

4 十六进制转十进制

a=input()
if len(a)<=8:
	a=int(a,16)
	print(a)
#更简便方法
 # 方法一
 re = int(input(),16)
 print(re)
 # 方法二
 n=input()
 print(int(n,16))

5  十进制转十六进制

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

6 特殊回文数 

n=int(input())
for i in range(10000,1000000):#
    a=str(i)
    if a[0]==a[-1] and a[1]==a[-2] and a[2]==a[-3]:
        sum=0
        for j in range(len(a)):
            sum+=int(a[j])
        if sum==n:
            print(i)
#更简便方法
def replies(a):
    for z in range(10000,1000000):
        z=str(z)
        if z == z[::-1]:
            if a==sum(int(i) for i in list(z)):
                print(z)
x=int(input())
replies(x)

7 回文数

for i in range(100,1000):
    a=str(i)
    if i==int(a[0])**3+int(a[1])**3+int(a[2])**3:
        print(i)

 8 杨辉三角形

n=int(input())
a=[1,1]
a1=[]
if n>=1:
    print(1)
if n>=2:
    print("1 1")
for i in range(3,n+1):
    a1.append(1)
    for j in range(len(a)-1):
        b=a[j]+a[j+1]
        a1.append(b)
    a1.append(1)
    a=a1
    a1=[]
    for j in range(len(a)):
        print(a[j],end=' ')
    print()

9 查找整数

n=int(input())
a=list(map(int,input().split()))
c=int(input())
stage=0
for i in range(n):
    if c==a[i]:
        print(i+1)
        stage=1
        break
if stage==0:
    print(-1)
#更简便方法
#else可以用在for后面
n = int(input())
li = list(map(int,input().split()))
a = int(input())
for i in li:
    if i == a:
        print(li.index(a)+1)
        break
else:
    print("-1")

10 数列特征

n=int(input())
a=list(map(int,input().split()))
a.sort()
print(a[len(a)-1])  
print(a[0]) 
print(sum(i for i in list(a)))
#可以直接写sum(a)
#即:
print(sum(a))

11 字母图形

letter = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
n,m=map(int,input().split())
for i in range(n):
    for j in range(m):
        print(letter[abs(i-j)],end='')
    print()

#另一种方法 字符与ASCII码的转换函数ord和chr
#示例代码:
print(ord("A"))
print(chr(65))
#输出结果:
65
A
#故:
n,m=map(int,input().split())
for i in range(n):
    for j in range(m):
        print(chr(abs(i-j)+65),end='')
    print()

12 01字串

for i in range(32):
    print(bin(i)[2:].rjust(5, "0"))

#字符串定长填充的三种方法(定长为5 右侧对齐 左侧填0)
a=("1").rjust(5,'0')
#对int有:
print("%05d"%1)
a=("1").zfill(5)

13 闰年判断

n=int(input())
if (n%4==0 and n%100!=0)or n%400==0:
    print("yes")
else:
    print("no")

14 Fibonacci数列

n=int(input())
a,b=1,1
for i in range(2,n): #i从0到n-1 F从1到n
    a,b=b,(a+b)%10007
print(b)

15 圆的面积

import math
r=int(input())
print("%.7f"%(math.pi*r**2))

16 序列求和

n=int(input())
print(sum(i for i in range(1,n+1)))
#上面方法运行超时
n=int(input())
print(int((n+1)*n/2)))

17 闰年判断

n = int(input())
if n % 4 == 0 and not n % 100 == 0 or n % 400 == 0:
    print("yes")
else:
    print("no")

总结:

对输入数的范围并没有严格的判断要求

a=a[::-1]回文数

sum(int(i) for i in list(z)) 或 sum(a)a是一个int数列名称

[nums.append(i) for i in num]

for······else:······

字符转ASCII码:ord(str)        ASCII码转字符chr()

字符占5个位子 右侧对齐 左侧填充0     .rjust(5,"0")   .zfill(5) 或 print('%05d' %1)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值