如何解决具有stdin和stdout的FizzBuzz python代码
我使用FizzBuzz程序进行了在线面试测试。编写一个程序,打印给定范围内的数字。但是对于三倍打印“ Fizz”而不是数字,对于五倍打印“ Buzz”。对于三和五的倍数的数字,请打印“ FizzBuzz。在每个字符串或数字之后打印新行。 输入格式:第一行将是测试用例的数量T。下一行将有N表示的T个整数。 输出格式:对于每个测试用例,请打印从1到N的数字,但请遵循问题中给出的规则。 约束:1
N= int(input())
for fizzbuzz in range(N+1):
if fizzbuzz % 3 == 0 and fizzbuzz % 5 == 0:
print("fizzbuzz")
continue
elif fizzbuzz % 3 == 0:
print("fizz")
continue
elif fizzbuzz % 5 == 0:
print("buzz")
continue
print(fizzbuzz)
解决方法
T = input("Enter some values: ")
value_list = str.split(T)
for value in value_list:
N = int(value)
for number in range(0,N+1):
if number % 15 == 0:
print("FizzBuzz")
elif number % 5 == 0:
print("Buzz")
elif number % 3 == 0:
print("Fizz")
else:
print(number)
输出:
Enter some values: 2 5 17 80
FizzBuzz
1
2
FizzBuzz
1
2
Fizz
4
Buzz
FizzBuzz
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
FizzBuzz
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
FizzBuzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fizz
Buzz
71
Fizz
73
74
FizzBuzz
76
77
Fizz
79
Buzz
,
最好的方法
c3 = 0
c5 = 0
for i in range(1,101):
c3 += 1
c5 += 1
d = ""
if (c3 == 3):
d += "fizz"
c3 = 0
if (c5 == 5):
d+= "buzz"
c5 = 0
if (d == ""):
print(i)
else:
print(d)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。