Wpis z mikrobloga

Mirki, jestem klasycznym #januszempythona . Założyłem sobie, że wreszcie się zabiorę za coś więcej niż suche czytanie "kursów języka" i zacząłem przygodę z checkio. Tyle że... utknąłem już na pierwszym zadaniu. Zadanie nazywa się "Fizz Buzz" i jest na poziomie podstawówki, tz. chodzi o to żeby w zależności od podzielności liczby przez 3 lub 5 pisało "Fizz" albo "Buzz". Wymodziłem coś takiego (w sumie to nawet nie wymodziłem, bo poza tymi if'ami i elifami to reszta już była):

#Your optional code here
#you can import some modules or create additional functions
def checkio(number):
if (number%3 == 0 and number%5 == 0):
print ("Fizz Buzz")
elif (number%3 == 0):
print ("Fizz")
elif (number%5 == 0):
print ("Buzz")
return str(number)
#these "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio(15)
assert checkio(6)
assert checkio(5)
assert checkio(7)

Ale program zamiast wykonać zadaną funkcję po prostu wyrzuca mi po kolei to co jest w printach. Co robię źle? Dodam że mam pewne nawyki z C++, gdzie jasno było określone, gdzie otwiera i kończy się funkcja za pomocą nawiasów {}, więc może tutaj jest jakiś błąd?
#januszeprogramowania #programowanie #kiciochpyta
  • 4
hmmmmmmmmmmmmm, tzn., że output masz:
Fizz Buzz
Fizz
Buzz
bo jak tak, to wg mnie zadziałało prawidłowo (pythona uczyłem się tydzień, więc ekspertem nie jestem :P)
assert? Wiesz do czego sluzy? Sprawdza czy wyrazenie jest prawdziwe, jezeli nie to rzuca AssertionError
przerób to tak

#your optional code here
#you can import some modules or create additional functions
def checkio(number):
if (number%3 == 0 and number%5 == 0):
return "Fizz Buzz"
elif (number%3 == 0):
return "Fizz"
elif (number%5 == 0):
return ("Buzz")
return str(number)
#these "asserts" using only for self-checking and not necessary for auto-testing
if __name__ ==
@arct2: po pierwsze nie musisz nic zwracać w funkcji checkio. po drugie nawiasy nie są potrzebne. po trzecie w python zamiast {} musisz używać tabulatorow. po czwarte
if _name == 'main_':
nie jest potrzebne