n = int(input("整数を入力してください: "))
if n < 1:
n = 0
print("1以上の正の整数を入力して下さい")
if n > 300:
n = 0
print("300以下の数を入力してください")
for a in range(1, n+1):
if a % 15 == 0:
print("FizzBuzz")
elif a % 3 == 0:
print("Fizz")
elif a % 5 == 0:
print("Buzz")
else:
print(a)
これと似たような、ナベアツ問題がありますが、1行で書いた方が居るので紹介しておきます。
["aho" if x % 3 == 0 or "3" in str(x) else x for x in range(1, 51)]
こういう書き方もあります。
[(((x%3==0 or '3' in str(x)) and 'aho') or x) for x in range(1,51)]
ワンライナーでFizzBuzz。
print('\n'.join(str(i)*(i%3!=0 and i%5!=0) + 'Fizz'*(i%3==0) + 'Buzz'*(i%5==0) for i in range(1, 101)))