Python FizzBu​​zz

Lor*_*chi -6 python fizzbuzz python-2.7

我已经在Python中提出了这个问题:

从用户处获取一个数字列表,然后在该列表中运行FizzBu​​zz.

循环浏览列表时,请记住以下规则:

1)如果数字可以被3和5打印整除 FizzBuzz

2)如果它只能被3个打印整除 Fizz

3)如果它只能被5个打印整除 Buzz

4)否则只需打印数字

还记得elif!

我创建了以下脚本,但它在if上给出了一个错误 n%3=True

n=input()
    if n%3=True:
        print("Fizz")
    else if n%5=True:
        print ("Buzz")
    elif print n
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?非常感谢你!

Ant*_*t P 5

这里有一些代码问题.第一个问题是,为了进行比较,您应该使用==,而不是=用于分配.

第二个问题是你想要检查除法的其余部分(模数运算符计算的是零),而不是它是真的,这实际上没有意义.

您应该使用elif"否则如果..."和else"否则".而且您需要修复else子句的格式.

你要:

n=input()
if n%3 == 0:
    print("Fizz")
elif n%5 == 0:
    print ("Buzz")
else:
    print n
Run Code Online (Sandbox Code Playgroud)

最后,您的代码不符合规范:

1)如果数字可被3和5分割,则打印"FizzBu​​zz"

以上不会这样做.这部分我要留给你,因为我不是来为你解决任务:)


VIS*_*SQL 5

基于

FizzBu​​zz:对于小于等于 100 的整数,如果整数可以被 3 和 5 (15) 整除,则打印 FizzBu​​zz;如果它可以被 3(而不是 5)整除,则为 Fizz;如果它可以被 5(而不是 3)整除,则发出嗡嗡声;否则为整数。

def FizzBuzz():
    for i in range(1,101):
        print {
            3 : "Fizz",
            5 : "Buzz",
            15 : "FizzBuzz"}.get(15*(not i%15) or
                                 5*(not i%5 ) or
                                 3*(not i%3 ), '{}'.format(i))
Run Code Online (Sandbox Code Playgroud)

这种.get()方法在这里产生了奇迹。

操作如下

对于从 1 到 100 的所有整数(不包括 101),
根据这些规则打印我们通过 get 调用的字典键的值。

“获取get调用中的第一个非 False 项,或将整数作为字符串返回。”

当检查一个True值时,即我们可以查找的值时,Python 将 0 计算为False。如果我 mod 15 = 0,那是错误的,我们会去下一个。

因此我们NOT每个'mods'(又名余数),所以如果mod == 0,which == False,我们得到一个True语句。我们乘以True返回字典键的字典键(即3*True == 3

当整数不能被 3、5 或 15 整除时,我们会使用打印 int 的默认子句,'{}'.format(i)只是将 i 插入到该字符串中 - 作为字符串。

一些输出

费兹
79
巴兹
菲斯
82
83
菲斯
巴兹
86
菲斯
88
89
FizzBu​​zz
91
92
菲斯
94
巴兹
菲斯
97
98
嘶嘶声
巴斯