内容正文:
作业 算法专项练——进制转换
1.有如下Python程序段:
code=”0123456789ABCDEF”
numstr = input(”请输入一个二进制整数:”)
numlen = len(numstr)
s=0
ss=””
for i in range(numlen):
x=int(numstr[i])*2**(numlen-i-1)
s+=x
t=s
while t>0:
ss=code[t%16]+ss
t=t∥16
print(ss)
运行该程序段,输入1100111,程序结果为( )
A.110 B.103 C.67 D.1100111
2.有如下Python程序段:
m=int(input())
s=””
flag = True
while m > 0:
r=m % 10
m=m ∥ 10
if flag and r % 2!=0:
s=str(r) + s
flag=not flag
print(flag, s)
若输入的值为“5201314”,执行该程序段后,输出的结果是( )
A.False 1 B.True 1
C.False 2 D.True 4
3.[2023·普陀中学高一]有如下程序段:
import random #导入随机数模块
n=random.randint(0,100) #产生0—100之间的随机整数,包含0和100
m=n;k=0;s=
while n!=1:
for i in range(2,n+1):
if n % i==0:
k=i
n=n∥k
s=s+str(k)+*
break
print(m,=,s0:len(s)-1])
上述程序执行后,输出结果不可能的是( )
A.67=67 B.34=2*17
C.54=2*3*3*3 D.20=2*3*4
4.有如下Python 程序段:
n=int(input(”请输入一个正整数:”))
s=0
i=1
while i<n:
if n % i==0:
s=s+i
i=i+1
print(s)
运行程序,输入18,输出s 的值是( )
A.5 B.21 C.39 D.6
5.有如下Python程序:
a=[0]*10
c=0
n=int(input())
while n>0:
a[n%10]+=1
if a[n%10]==1:
c+=1
n∥=10
print(10-c)
运行该程序后,输出结果为6,则键盘输入内容为( )
A.135753 B.234125
C.202210 D.6784631
6.[2023·湖州中学高一]有如下Python程序段:
n=int(input(”请输入:”))
s=x=0
while n!=0:
x=n%10
s=x+s
n=n∥10
print(s)
执行该程序段后,依据程序提示,输入“20220412”,则程序输出结果是( )
A.13 B.1119 C.2022 D.9
7.[2023·遂昌中学高一]有如下程序:
a = input(输入小写字母组成的字符:)
for i in a:
n=ord(i)+1 #(字符a的ASCII码为97)
h=
for j in range(8):
h=str(abs(n%2-1))+h
n=n∥2
print(h,end= )
若输入小写字母“ab”,则得到的结果是( )
A.0011101 0011100
B.1100010 0011100
C.10011101 10011100
D.00011101 00011100
8.[2023·温州十校高一]有如下Python 程序:
a=[0]*10;c=0;
n=int(input())
while n > 0:
a[n%10]+=1
if a[n%10]==2:
c+=1
n∥=10
print(c)
运行该程序后,输出结果为2,则输入n 的值可能为( )
A.135553 B.234125
C.202222 D.112233
9.用Python编写代码,实现将正整数十进制数转换为十六进制的程序。程序功能如下:输入一个十进制数,执行程序后,输出其对应的十六进制数。程序运行效果如下。
(1)若键盘输入65,则执行程序后输出的值为________。
(2)请在画线处填入合适的代码:
x=input(请输入待转换的十进制数:)
x=①________
s=”
while x>0:
r=②________
x∥=16
if r>9:
a=chr(r+55)
else:
a=str(r)