Професионална програма
Loading...
spetrov6 avatar spetrov6 2 Точки

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)

Можете ли да ми дадете идей как да подобря кода.

Благодаря предварително, и приятен ден.

 

Тагове:
0
Fundamentals Module
KaloyanKoev avatar KaloyanKoev 3 Точки

Здравей, колега. 

След като се омотах няколко пъти на тази задача, стигах до следното решение:

https://pastebin.com/LkA2bB82

 

 

 

0
24/01/2021 23:22:49
DilianaS avatar DilianaS 3 Точки

Не се бях сетила за това, благодаря :)

0