蓝桥等考Python组别
十七
级
第一部分:选择题
1、Python L
17
(15分)
运行下面程序,输出的结果是( )。
def func(x
, y
):
return
(x - y) % 2
print(func(
10, 5
))
2
1
5
2.5
正确答案:
B
2
、Python L
17
(
15
分)
运行下面程序,输出的结果是( )。
def func(x):
for i in range(
1
, x):
if x % i == 0:
print(i, end = ' ')
func(16)
1
2
1 2 4 8
2 4 8
2 4 8 16
正确答案:
B
3、Python L
17
(20分)
运行下面程序,输入
哪项
,输出的是
True?
( )
def palindrome(x):
if x[ : : -1] == x:
return True
return False
n = input()
print(palindrome(n))
8668668
6868
688686
666668
正确答案:
A
第二部分:编程题
4
、Python L
17 十进制
整数
转二进制
(
5
0分)
题目名称:
十进制
整数转二进制
题目描述:
二进制是计算机广泛采用的一种数制。二进制用0和1来表示数,逢二进一。
将一个十进制正整数转换为二进制数,采用"除2取余,逆序排列"的方法。具体步骤是:
1.将给定的十进制数除以2,余数便是等值的二进制数的最低位;
2.将上一步的商再除以2,余数便是二进制数的次低位;
3.重复步骤2,直到最后所得的商等于0为止。各次除得的余数,便是二进制各位的数,最后一次的余数是最高位。
下面是将十进制数39,转换成二进制数100111的计算过程:
请编写程序,将一个十进制正整数转换为二进制数。
输入:
一个十进制正整数
x
(
1
<=
x
<=
100
0)
。
输出:
一
个由
0和1组成的
字符串,
表示x的
二进制
形式
。
输入样例1:
39
输出样例1:
100111
参考程序
1
:
def fun(x):
ret = ''
while x > 0:
ret = str(x % 2) + ret
x //= 2
return ret
x
= int(input())
print(fun(
x
)
)
参考程序
2
:
p = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
def fun(x):
j = 10
while x < p[j]:
j -= 1
ret = ''
for i in range(j, -1, -1):
ret += str(x // p[i])
x %= p[i]
return ret
x = int(input())
print(fun(x))
测试数据:
1.in
39
1.out
100111
2.in
16
2.out
10000
3.in
575
3.out
1000111111
4.in
601
4.out
1001011001
5.in
899
5.out
1110000011
蓝桥杯青少组Python组别17级编程练习真题(第8套,共8套)