Sum Of A Beach - Python Fundamentals More Exercises
Здравейте ,
От скоро уча python fundamentals , и имам затруднения със задачата Sum Of A Beach , а за тази задача не намирам решения в форума, и едвали ще бъде решена от лекторите понеже е в допълнителните задачи.
1.Sum of a Beach
Beaches are filled with sand, water, fish, and sun. Given a string, calculate how many times the words "Sand", "Water", "Fish", and "Sun" appear (case insensitive).
Examples:
input output
WAtErSlIde 1
GolDeNSanDyWateRyBeaChSuNN 3
gOfIshsunesunFiSh 4
cItYTowNcARShoW 0
Аз успях да реша задачата и judge даде 100/100 със кодът отдолу, но този код не ми се струва грам ок,и мисля че може да бъде направен много по-добре и по-красиво.
sentence = list(input().lower()) words = 0 for index in range(len(sentence)): if sentence[index] == "f" and index + 3 <= len(sentence): if sentence[index + 1] == "i" and sentence[index + 2] == "s" and sentence[index + 3] == "h": words += 1 if sentence[index] == "s" and index + 3 <= len(sentence): if sentence[index + 1] == "a" and sentence[index + 2] == "n" and sentence[index + 3] == "d": words += 1 if sentence[index] == "s" and index + 2 <= len(sentence): if sentence[index + 1] == "u" and sentence[index + 2] == "n": words += 1 if sentence[index] == "w" and index + 4 <= len(sentence): if sentence[index + 1] == "a" and sentence[index + 2] == "t" and sentence[index + 3] == "e" and sentence[index + 4] == "r": words += 1 print(words)
Можете ли да ми дадете идей как да подобря кода.
Благодаря предварително, и приятен ден.