这是我的密码:
def bizzBuzzAnalysis(n):
n = int(input())
bizz = 0
buzz = 0
if(n%7==0):
print(n, "is divisible by 7. Add a bizz!")
bizz+=1
if(n%9==0):
print(n, "is divisible by 9. Add a buzz!")
buzz+=1
r = str(n)
for i in range(len(r)):
if r[i] == "7":
print("Digit is 7, add a bizz!")
bizz+=1
if r[i] == "9":
print("Digit is 9, add a buzz!")
buzz+=1
if(bizz==0 & buzz == 0):
print(r)
else:
print(("Bizz! " * bizz) + ("Buzz! " *buzz))
# input and function test
n = 0
bizzBuzzAnalysis(n)
当输入为99时,程序仍将打印该数字可被数字9整除并包含数字9。但是,它只打印该数字,而不打印应打印的短语。似乎大多数数字都包含9。我的if语句有什么问题吗
&
不是逻辑and
运算符。您的表达式被解析为这相当于
因此
buzz
的实际值是不相关的。使用n == 99
,bizz
的值实际上是0,因此只打印数字本身当您的意思是
and
时,不要使用&
:相关问题 更多 >
编程相关推荐