基本编程题【15 分】
- 考生文件夹下存在一个文件 PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:【5 分】
键盘输入正整数 n,按要求把 n 输出到屏幕,格式要求:宽度为 20 个字符,减号字符-填充,右对齐,带千位分隔符。如果输入正整数超过 20 位,则按照真实长度输出。
例如:键盘输入正整数 n 为 1234,屏幕输出:
------------1,234n = eval(input("请输入正整数:")) print("{_____}".format(n))
答案:
n = eval(input("请输入正整数:"))
print("{:->20,}".format(n))
解析:
: 是 0: 的简写,意味着我们要对 format()括号中的第 0+1 个参数 n 进行格式化。
- 的意思是以此符号填充空位。
> 的意思是变量 n 居右。
20 的意思是占位20。
, 的意思是有千位分隔符。
- 考生文件夹下存在一个文件 PY102.py,请写代码替换横线,不修改其他代码,实现以下功能:【5 分】
a 和 b 是两个列表变量,列表 a 为[3,6,9]已给定,键盘输入列表 b,计算 a 中元素与 b 中对应元素乘积的累加和。
例如:键盘输入列表 b 为[1,2,3],累加和为 13+26+3*9=42,因此,屏幕输出计算结果:
42a = [3,6,9] b = eval(input()) __________ for i in __________: s += a[i] * b[i] print(s)
答案:
a = [3,6,9]
b = eval(input())
s = 0
for i in range(3):
s += a[i] * b[i]
print(s)
解析:
本题考察的是列表、eval 和 input 函数、for 循环、变量,
语句 s+=a[i]+b[i]的全写为 s=s+a[i]+b[i],所以在执行它的时候,变量 s 是有值的,需要对其进行赋值 s=0。
由于列表长度为 3,因此 range(3)应该填写。
- 考生文件夹下存在一个文件 PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:【5 分】
以 123 为随机数种子,随机生成 10 个在 1(含)到 999(含)之间的随机数,每个随机数后跟随一个逗号进行分隔,屏幕输出这 10 个随机数。
import random __________ for i in range(__________): print(__________,end = ",")
答案:
import random
random.seed(123)
for i in range(10):
print(random.randint(1, 999),end