python四位玫瑰数代码怎么写_测验4: 程序的控制结构 (第4周)

测验4: 程序的控制结构 (第4周)

单项选择题

1、for var in ___:

print(var)

哪个选项不符合上述程序空白处的语法要求?

A、range(0,10)

B、{1;2;3;4;5}

C、“Hello”

D、(1,2,3)

正确答案 B

for … in … 中 in 的后面需要是一个迭代类型(组合类型),{1;2;3;4;5}不是Python的有效数据类型。

2、

for i in range(0,2):

print(i)

哪个选项是以上程序的输出结果?

A、1

B、1 2

C、0 1

D、0 1 2

正确答案 C

range(0, 2)输出两个值:0和1。

3、

k=10000

while k>1:

print(k)

k=k/2

哪个选项给出了上述程序的输出次数?

A、14

B、15

C、1000

D、13

正确答案 A

请跟随程序计算或在IDLE中运行程序获得结果。

4、哪个选项是程序的三种基本结构?

A、过程结构,循环结构,分支结构

B、顺序结构,跳转结构,循环结构

C、顺序结构,循环结构,分支结构

D、过程结构,对象结构,函数结构

正确答案 C

无对象结构、跳转结构、过程结构等说法。

5、哪个选项关于循环结构的描述是错误的?

A、死循环无法退出,没有任何作用

B、循环是一种程序的基本控制结构

C、循环是程序根据条件判断结果向后反复执行的一种运行方式

D、条件循环和遍历循环结构都是基本的循环结构

正确答案 A

死循环能够用于测试性能,形式上的死循环可以用break来退出,例如:

x = 10

while True:

x = x - 1

if x == 1:

break

死循环是有其作用的。

6、关于Python语句P=-P,哪个选项的描述是正确的?

A、给P赋值为它的负数

B、P=0

C、P等于它的负数

D、P的绝对值

正确答案 A

Python中的=是赋值符号,==是判断相等性的等于符号。

7、哪个选项是用来判断当前Python语句在分支结构中?

A、缩进

B、冒号

C、大括号

D、引号

正确答案 A

缩进表达层次关系。

8、哪个选项是下面代码的执行结果?

for s in “PYTHON”:

if s==“T”:

continue

print(s,end="")

A、TT

B、PYHON

C、PYTHON

D、PY

正确答案 B

continue结束当次循环,但不跳出当前循环。

9、哪个选项是random库中用于生成随机小数的函数?

A、randint()

B、randrange()

C、random()

D、getrandbits()

正确答案 C

randint()、getrandbits()、randrange()都产生随机整数,random()产生0到1之间的随机小数。

10、关于try-except,哪个选项的描述是错误的?

A、表达了一种分支结构的特点

B、使用了异常处理,程序将不会再出错

C、用于对程序的异常进行捕捉和处理

D、NameError是一种异常类型

正确答案 B

使用了异常处理,程序可能运行不会出错,但逻辑上可能出错。程序错误是一个大概念,不仅指代码运行错误,更代表功能逻辑错误。

四位玫瑰数

四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。

例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。

请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。

输出仅表示格式,不表示对错。

输入 输出

1111

2222

3333

【我的答案】

for i in range(1000, 10000):

t = str(i)

if pow(eval(t[0]),4) + pow(eval(t[1]),4) \

+ pow(eval(t[2]),4)+ pow(eval(t[3]),4) == i :

print(i)

【参考代码】

s = ""

for i in range(1000,10000):

t = str(i)

if pow(eval(t[0]),4) + pow(eval(t[1]),4) + pow(eval(t[2]),4) + pow(eval(t[3]),4)==i:

print(i)

100以内素数之和

求100以内所有素数之和并输出。

素数指从大于1,且仅能被1和自己整除的整数。

提示:可以逐一判断100以内每个数是否为素数,然后求和。

输入格式

该题目没有输入

输入输出示例

输入 输出

示例 1 1234(这是示例,不是真实输出)

【我的答案】

a = 2

for i in range(3,100):

for b in range(2,i):

if i%b == 0:

break

else:

a += i

print(a)

【参考代码】

#Prime

def is_prime(n):

for i in range(2,n):

if n%i == 0:

return False

return True

sum = 0

for i in range(2,100):

if is_prime(i):

sum += i

print(sum)

# 简单的函数使用在"天天向上的力量"实例中已经介绍过了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值