从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"