第四章为Python程序的控制结构,课后题目分为有10道选择题与2道编程题。
A “Hello”
B (1,2,3)
C range(0,10)
D {1;2;3;4;5}
正确答案 D
for … in … 中 in 的后面需要是一个迭代类型(组合类型),{1;2;3;4;5}不是Python的有效数据类型。
A 1
B 0 1 2
C 1 2
D 0 1
正确答案 D
range(0, 2)输出两个值:0和1。
A 13
B 14
C 1000
D 15
正确答案 B
请跟随程序计算或在IDLE中运行程序获得结果。
正确答案 B
无对象结构、跳转结构、过程结构等说法。
正确答案 C
死循环能够用于测试性能,形式上的死循环可以用break来退出,例如:
x = 10
while True:
x = x - 1
if x == 1:
break
死循环是有其作用的。
正确答案 D
Python中的=是赋值符号,==是判断相等性的等于符号。
正确答案 B
缩进表达层次关系。
A TT
B PYHON
C PYTHON
D PY
正确答案 B
continue结束当次循环,但不跳出当前循环。
正确答案 C
randint()、getrandbits()、randrange()都产生随机整数,random()产生0到1之间的随机小数。
正确答案 B
使用了异常处理,程序可能运行不会出错,但逻辑上可能出错。程序错误是一个大概念,不仅指代码运行错误,更代表功能逻辑错误。
1. 四位玫瑰数
描述
四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。
请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。
输入输出示例
输出仅表示格式,不表示对错。
输入 输出
1 1111
2222
3333
我的答案:
for a in range(1,10):
for b in range(10):
for c in range(10):
for d in range(10):
if (pow(a, 4) + pow(b, 4) + pow(c, 4) + pow(d, 4)) == (a * 1000 + b *100 + c * 10 + d *1):
print(a * 1000 + b *100 + c * 10 + d *1)
2. 100以内素数之和
描述
求100以内所有素数之和并输出。
素数指从大于1,且仅能被1和自己整除的整数。
提示:可以逐一判断100以内每个数是否为素数,然后求和。
输入格式
该题目没有输入
输入输出示例
输入 输出
1 1234(这是示例,不是真实输出)
我的答案:
def ifPrimeNum(n):
#定义判断是否为素数的函数,是则返回1,不是则返回-1
rtn = 1
if n <= 1:
rtn = -1
elif n == 2:
rtn = 1
else:
for i in range(2, n):
if n % i == 0:
rtn = -1
break
return rtn
sum = 0
for i in range(2, 101):
if ifPrimeNum(i) == 1:
sum += i;
print(sum)
注:题目来源于python123.