漂亮数的定义是:如果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的完整漂亮数 。
正确答案:B
试卷来源:202512 CCF-GESP编程能力等级认证Python二级真题