FizzzBuzz Python工作通过

时间:2017-02-10 08:34:29

标签: python

从1开始计数。如果数字是7的倍数,他们会说" zap"而不是数字。如果数字中有3位数字,他们会说'#34; buzz"而不是数字,如果两件事情都是真的,他们会说" zap buzz"。

设计一个能够改变游戏规则的zap_buzz功能。给定一个正整数参数,如果没有" zap" /" buzz"那么它应该返回该整数值。条件成立。如果某些条件成立,则应返回字符串" zap",字符串" buzz"或字符串" zap buzz",以适当者为准。您可以假设参数小于1000.如前面的练习所示,请不要将整数转换为字符串以确定其数字。

>>> zap_buzz(8)
8
>>> zap_buzz(14)
'zap'
>>> zap_buzz(13)
'buzz'
>>> zap_buzz(35)
'zap buzz'

^^^^^是提示。我到目前为止:

def zapbuzz(x):
        x =0
 if x % 3 == 0 and x % 7 == 0:
     return str("ZapBuzz")
 elif x % == 3 and x % 7 != 0 :
     return str("Zap")
 elif x % 3 != 0 and x % 7 == 0:
     return str("Buzz")
 else /* x % 3 >= 1 or x % 7 >= 1:
     return x

****请不要给我答案,但是一些好的提示或者尝试以不同的方式思考XYZ / etc / whatevertip会非常棒。谢谢!

好的,我通读了评论,谢谢inspo! 我做了以下更改:

n = input()
def ZapBuzz(n):
     if n%7 == 0 & n%3 == 0:
         return ("ZapBuzz")
     elif n%7 == 0 & n%3 != 0:
         return ("Zap")
     elif n%7 != 0 & n%3 == 0:
         return ("Buzz")
     else:
         return (n)

好吧,刚和一位导师谈过......我制定了这个功能,除了我现在的问题是,当我输入1进入该功能时,终端吐出“没有”#39;。

def zap_buzz(x):
     i = 0
     t = False 
     while i < 3:
         if ((x // 10**i)%10) == 3:
             t = True
         i += 1 
     if t == True and x % 7 == 0:
         return "zap buzz"
     if x % 7 == 0:
         return "zap"
     if t == True:
         return "buzz"

0 个答案:

没有答案