python - FizzBuzz 问题,我无法解决此代码。请阅读以下输出并给出答案
问题描述
它接受一个输入 n 并输出从 1 到 n 的数字。对于 3 的每个倍数,打印“ Fizz ”而不是数字。对于每个 5 的倍数,打印“Buzz”而不是数字。对于同时是 3 和 5 的倍数的数字,输出“FizzBuzz”。
您需要使代码跳过偶数,以便逻辑仅适用于范围内的奇数
解决方案
除了@dratenik 提到的内容之外,对于要跳过偶数的最后一个条件,您只需添加以下内容:
def fizz_buzz_main(N):
for i in range(1, N+1):
if N & 1: # check for odd number, then only call, otherwise skip
fizz_buzz() # function already shown by @dratenik
我希望很清楚!
示例运行:
输入:n = 10
输出:["1","Fizz","Buzz","7","Fizz"]
推荐阅读
- java - 如何确定两点之间是否没有任何障碍物
- javascript - 订阅后的Angular 2数组有元素但长度为0
- cplex - 将 GPL 转换为 OPL 的提示
- java - 在 Java 中突出显示 JLabel 上的图像图标的一部分
- python - 使用python从类表结构中提取数据
- javascript - 如何恢复存储在 Cloud Firestore 中的时间 (HH: MM) 时间戳?
- sql - 在多边形中查找点会提供错误的结果
- python - python 3.7 安装是否会删除现有的 python 3.5 安装?
- c# - 将项目动态添加到其 DataSource 绑定到集合的 ListBox
- javascript - Charts JS:圆环图和隐藏每个数据集中特定数据索引的工具提示