# -*- coding: cp932 -*-
a = 1
n = input("整数を入力してください")+1
if n < 1:
    n = 0
    print "1以上の正の整数を入力して下さい"
if n > 300:
    n = 0
    print "300未満の数を入力してください"
while a < n:
    if a % 15 == 0:
        print "FizzBuzz"
    elif a % 3 == 0:
            print "Fizz"
    elif a % 5 == 0:
            print "Buzz"
    else:
        print a
    a = a + 1



これと似たような、ナベアツ問題がありますが、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 xrange(1, 101))

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-02-23 (木) 23:33:34