Loading...
NKKalev avatar NKKalev 10 Точки

Python - Wolf in Sheep's Clothing - More Exercises: Basic Syntax, Conditional Statements and Loops

Здравейте,

Може ли идеи/решения за тази задача:

 

Wolves have been reintroduced to Great Britain. You are a sheep farmer, and are now plagued by wolves which pretend to be sheep. Fortunately, you are good at spotting them.

Warn the sheep in front of the wolf that it is about to be eaten. Remember that you are standing at the front of the queue which is at the end of the array:

[sheep, sheep, wolf, sheep, sheep] (YOU ARE HERE AT THE FRONT OF THE QUEUE)

     4          3                    2           1

If the wolf is the closest animal to you, print "Please go away and stop eating my sheep". Otherwise, return "Oi! Sheep number N! You are about to be eaten by a wolf!" where N is the sheep's position in the queue.

Note: there will always be exactly one wolf in the array.

Input

The input will be a single string containing the animals separated by comma and a single space ", "

 

Examples

Input

Output

sheep, sheep, wolf

Please go away and stop eating my sheep

wolf, sheep, sheep, sheep, sheep, sheep

Oi! Sheep number 5! You are about to be eaten by a wolf!

 

Не мога да я измисля. След дълго ровене в интернет успях да достигна до следното:

 

def warn_the_sheep(queue):
    queue.reverse()
    the_wolf_position = queue.index("wolf")
    if the_wolf_position == 0:
        return 'Pls go away and stop eating my sheep'
    else:
        return "Oi! Sheep number " + str(the_wolf_position) + "! You are about to be eaten by a wolf!"

 

но не разбирам как точно работи, а и не получавам никакви резултати в PyCharm.

0
Fundamentals Module
NKKalev avatar NKKalev 10 Точки

Благодаря! Не съм запознат с масивите изобщо.

0
spetrov6 avatar spetrov6 2 Точки

Здравей Колега,

Разгледах решението ти ,но не разбрах едно нещо, защо когато ревърснеш arrReversed, единя обект "sheep" изчесва от листа.

arrReversed = array[::-1]

Доколкото разбрах докато дебъгвах това че, единя обект изчезва помага за това оутпута да е верен.

Търсих инфо в интернет но не успях да открия ,защо се получава така,би ли споделил за да научим oще нещо ново :D

 


 
0
Julianh12 avatar Julianh12 3 Точки
Обаче ми дава само 40/100
string=input().split(", ")
list=[]
list=string
n=len(list)

for i in (range(n)):


       if list[i]=="wolf" and i==n-1:

              print("Please go away and stop eating my sheep")
              break
       elif list[i]=="wolf" and i<n:
              print(f"Oi! Sheep number {n-1}! You are about to be eaten by a wolf!")
              break

0
l.markov avatar l.markov 1 Точки

Ето още едно предложение за решение:

animals = input()

animals_list = []
for animal in animals.split(","):
    animals_list.append(str(animal).strip())

farmer_position = len(animals_list) + 1

if animals_list[-1].strip() == "wolf":
    print("Please go away and stop eating my sheep")
else:
    animal_position = len(animals_list) - animals_list.index("wolf") - 1
    print(f"Oi! Sheep number {animal_position}! You are about to be eaten by a wolf!")

 

0
IvanNankov95 avatar IvanNankov95 8 Точки
animals = input()
animals_list = animals.split(', ')
animals_list.reverse()
for index, animal in enumerate(animals_list):
    if animal == 'wolf' and index == 0:
        print('Please go away and stop eating my sheep')
    elif animal == 'wolf':
        print(f'Oi! Sheep number {index}! You are about to be eaten by a wolf!')

Едно доста просто решение и от мен :)

0
astankin avatar astankin 5 Точки
animals = input().split(", ")
wolf_index = animals.index('wolf') + 1
sheep_index = len(animals) - wolf_index
if wolf_index == len(animals):
    print("Please go away and stop eating my sheep")
else:
    print(f"Oi! Sheep number {sheep_index}! You are about to be eaten by a wolf!")

Ето още едно решение без цикъл. :)

0
chukolna avatar chukolna 0 Точки

Страхотно решение на задачата, поздравление!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.