如何在for循环中为可被3、5、同时被3和5整除的迭代值旁添加对应字符串
需求翻译
我需要写一个遍历1到15的for循环,实现如下逻辑:
- 所有可被3整除的数字旁打印
"divisible by 3" - 可被5整除的数字旁打印
"divisible by 5" - 同时可被3和5整除的数字旁打印
"divisible by both" - 其余数字直接打印即可
预期输出如下:
1 2 3 'divisible by 3' 4 5 'divisible by 5' 6 'divisible by 3' 7 8 9 'divisible by 3' 10 'divisible by 5' 11 12 'divisible by 3' 13 14 15 'divisible by both'
实现方案
核心注意点:必须优先判断是否同时被3和5整除,否则会先触发单整除条件,导致输出逻辑错误。
Python 实现代码
# range为左闭右开规则,要取到15需设置终止值为16 for num in range(1, 16): if num % 15 == 0: print(f"{num:2d} 'divisible by both'") elif num % 3 == 0: print(f"{num:2d} 'divisible by 3'") elif num % 5 == 0: print(f"{num:2d} 'divisible by 5'") else: print(f"{num:2d}")
JavaScript 实现代码
for (let num = 1; num <= 15; num++) { // 补空格对齐输出格式 let output = num.toString().padStart(2, ' '); if (num % 15 === 0) { output += " 'divisible by both'"; } else if (num % 3 === 0) { output += " 'divisible by 3'"; } else if (num % 5 === 0) { output += " 'divisible by 5'"; } console.log(output); }
以上两种实现运行后的输出均和预期完全一致。
内容的提问来源于stack exchange,提问作者thinkerBOB
相关产品推荐
相关产品推荐

