题型:单选题
漂亮数的定义是:如果N能被M整除,或者某位是M,或者N的每位数之和能被M整除,则说N是M的漂亮 数。如果三个条件都满足,则是完整漂亮数。123是3的完整漂亮数,因为123能被3整除,也含有3,其每位数之和为 6也能被3整除。下面的代码用于判断N是否为M的完整漂亮数并输出。相关说法正确的是( )。
N = int(input("请输入N,N必须是0或正整数:"))
M = int(input("请输入M:M必须大于1小于等于9:"))
Sum = 0 #记录各位数之和
Flag = False #记录N是否含有M
while N != 0:
num = N % 10
Sum += num
if num == M:
Flag = True
N //= 10
if (N % M == 0) and (Flag == True) and (Sum % M == 0):
print(f"{N}是{M}的完整漂亮数")
else:
print(f"{N}不是{M}的完整漂亮数") | A. 代码能完成题目设定目标。 |
B. 在 while 循环中 N 最终将变成0,因为代码 N % M 将总是满足条件,可以在 while 前增加一行代码 old_num = N ,并将 N % M 改为 old_num % M ,随后 print() 中的 {N} 改为 {old_num} 。 |
| C. while 循环中 if 判断语句可以增加 else 子句,其内容为 Flag = False 。 |
D. 如果先后输入 0 和 3 ,则肯定会输出 0是3的完整漂亮数 。 |
更新时间:2026-07-16 15:37:22
|
【知识点】
CCF—GESP Python二级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
单选题
下面的Python 代码执行后其输出是( )。
cnt = 0 for i in range(1, 5): for j in range(i): print(j, end = "#") break else: print(i*j)
| A. 0#0#1#0#1#2#0#1#2#3#12 |
B. 0#0#1#0#1#2#0#1#2#3# |
| C. 0# |
D. 1# |
2026-07-31
判断题
下列Python 代码执行后将输出1#4#9#16#16 。()
for i in range(1, 5): for j in range(1, i + 1): if i * j % 10 == 0: break else: print(i * j, end = "#") else: print(i * j)
| A.正确 | B.错误 |
2026-07-31
判断题
下面的Python 代码执行将不会有输出,因为内层循环j 总是0 开始,i * j % 10 == 0 将会被满足,执行break,故而不会执行代码中的else 子句部分。()
for i in range(1, 10): for j in range(i): if i * j % 10 == 0: break else: print(i*j)
| A.正确 | B.错误 |
2026-07-31
判断题
执行下面的Python 代码,其语句print(N) 将被执行0 次或极多次(即死循环)。()
N = input() while N : print(N)
| A.正确 | B.错误 |
2026-07-31
单选题
下面选择项中,与Python 表达式not (x > 5 and y <= 10)等价的是( )。
| A. x <= 5 and y > 10 |
B. x > 5 or y <= 10 |
| C. x <= 5 or y > 10 |
D. not x > 5 and not y <= 10 |
2026-07-31
