第8周作业(控制结构)
单项选择题
1.下面代码的输出结果是
for i in "Python":
print(i,end=",")
A Python
B P y t h o n
C P y t h o n
D P,y,t,h,o,n,
正确答案 D
2.下面代码的输出结果是
for i in range(1,10,2):
print(i,end=",")
A 1,4,
B 1,3,5,7,9,
C 1,4,7,
D 1,3,
正确答案 B
3.下面代码的输出结果是
for a in 'mirror':
print(a, end="")
if a == 'r':
break
A mi
B mirror
C mirror
D mir
正确答案 D
4.下列Python保留字中,不用于表示分支结构的是
A in
B else
C if
D elif
正确答案 A
5.关于Python遍历循环,以下选项中描述错误的是
A 遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等
B 遍历循环通过for实现
C 遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于所提取的每个元素只执行一次语句块
D 无限循环无法实现遍历循环的功能
正确答案 D
6.关于Python的无限循环,以下选项中描述错误的是
A 无限循环一直保持循环操作,直到循环条件不满足才结束
B 无限循环需要提前确定循环次数
C 无限循环通过while保留字构建
D 无限循环也称为条件循环
正确答案 B
7.给出下面代码:
age=23
start=2
if age%2!=0:
start=1
for x in range(start,age+2,2):
print(x)
上述程序输出值的个数是:
A 14
B 16
C 10
D 12
正确答案 D
8.给出下面代码:
k=10000
while k>1:
print(k)
k=k/2
上述程序的运行次数是:
A 15
B 1000
C 13
D 14
正确答案 D
9.以下选项中能够实现Python循环结构的是
A do…for
B if
C while
D loop
正确答案 C
10.下面代码的输出结果是
for i in range(1,6):
if i%3 == 0:
break
else:
print(i,end =",")
A 1,2,
B 1,2,3,
C 1,2,3,4,5,
D 1,2,3,4,5,6
正确答案 A
11.下面代码的输出结果是
for i in range(1,6):
if i/3 == 0:
break
else:
print(i,end =",")
A 1,2,3,
B 1,2,
C 1,2,3,4,
D 1,2,3,4,5,
正确答案 D
12.下面代码的输出结果是
sum = 0
for i in range(2,101):
if i % 2 == 0:
sum += i
else:
sum -= i
print(sum)
A -50
B 51
C 50
D 49
正确答案 B
13.下面代码的输出结果是
sum=0
for i in range(0,100):
if i%2==0:
sum-=i
else:
sum+=i
print(sum)
A 50
B -50
C -49
D 49
正确答案 A
14.下面代码的输出结果是
sum = 1
for i in range(1,101):
sum += i
print(sum)
A 5050
B 5051
C 5049
D 5052
正确答案 B
15.下面代码的输出结果是
x2 = 1
for day in range(4,0,-1):
x1 = (x2 + 1) * 2
x2 = x1
print(x1)
A 23
B 94
C 46
D 190
正确答案 C
16.下面代码的输出结果是
for a in ["torch","soap","bath"]:
print(a)
A torch
soap
bath
B torch,soap,bath,
C torch soap bath
D torch,soap,bath
正确答案 A
17.下面代码的输出结果是
s = 0
while(s<=1):
print('计数:',s)
s = s + 1
A 计数:0
B 计数:0
计数:1
C 出错
D 计数:1
正确答案 B
程序设计题
num, money = map(int, (input().split()))
flag = 0
for x in range(1, money // 5 + 1):
for y in range(1, money // 3 + 1):
z = num - x - y
if z % 3 == 0 and z > 0 and 5 * x + 3 * y + z // 3 == money:
print(x, y, z)
flag = 1
if flag == 0:
print('无解')
exchange_rate = 7.0036
while True:
usd_str = input()
if usd_str in ['Q', 'q']:
print('欢迎下次光临')
break
if usd_str.endswith('$') and usd_str[:-1].isdigit():
cny_amount = exchange_rate * float(usd_str[:-1])
print('{:.2f}R'.format(cny_amount))
else:
print('ERROR')
def find_armstrong_numbers(n):
armstrong_numbers = []
for i in range(10**(n-1), 10**n):
digits = [int(d) for d in str(i)]
if sum(d**n for d in digits) == i:
armstrong_numbers.append(i)
return armstrong_numbers
n = int(input())
for num in find_armstrong_numbers(n):
print(num)
def find_related_numbers(n):
related_numbers = []
for i in range(1, n+1):
if i % 7 == 0 or '7' in str(i):
related_numbers.append(i)
return related_numbers
n = int(input())
related_numbers = find_related_numbers(n)
print(f"与7相关的数共有: {len(related_numbers)}")
print(f"与7相关的数: {related_numbers}")
scores = [int(x) for x in input().split(',')]
avg_score = sum(scores) / len(scores)
print(f"平均成绩:{avg_score:.2f}")
count = [0] * 5
for score in scores:
if score < 60:
count[0] += 1
elif score < 70:
count[1] += 1
elif score < 80:
count[2] += 1
elif score < 90:
count[3] += 1
else:
count[4] += 1
total = len(scores)
print(f"60分以下{count[0]}人,占总人数的{count[0] * 100 // total}%")
print(f"69~60分{count[1]}人,占总人数的{count[1] * 100 // total}%")
print(f"79~70分{count[2]}人,占总人数的{count[2] * 100 // total}%")
print(f"89~80分{count[3]}人,占总人数的{count[3] * 100 // total}%")
print(f"90分以上{count[4]}人,占总人数的{count[4] * 100 // total}%")
scores.sort(reverse=True)
print(f"本课程成绩:{scores}")
def sum_series(n):
a, b = 2, 1
sum = 0
for _ in range(n):
sum += a / b
a, b = a + b, a
return sum
n = int(input())
result = sum_series(n)
print(result)
def special_series_sum(n):
if n >= 10:
return "data error!"
sum = 0
term = 0
for i in range(1, n + 1):
term = term * 10 + i
sum += term
return sum
n = int(input())
result = special_series_sum(n)
print(result)