Você está na página 1de 21

Questão 1

Parcialmente correto
Atingiu 5,30 de 10,00

Music Player
Todo rebelde tem sua lista de músicas para lidar com os momentos de tensão nos preparativos antes de um ataque ao Império. O bom
funcionamento deste é essencial para a vitória, mas o estagiário wookie acabou apagando a licença para uso do tocador
oficial da Aliança,
e você se voluntariou para criar uma nova versão com a GPL3!
Uma análise mais precisa feita por você indicou que os codecs de wav, mp2, mp3, ogg e outros formatos ainda estavam disponíveis no
equipamento de áudio intergalático. Portanto, você não deve se preocupar com a reprodução das músicas em seus respectivos
formatos
mas sim em implementar o comportamento de um tocador - manipular a lista de músicas, adicionar e remover músicas da lista e etc.
Para isso, basta implementar as principais funcionalidades de um music player:
play começa a tocar as músicas da lista, na ordem da lista, a partir da música atual, caso já não esteja tocando (não tem efeito caso
contrário).
stop interrompe a execução da música atual.
add id acrescenta a música id ao final da lista.
del id retira a primeira ocorrência da música id na lista, se houver e desde que não esteja tocando. Não interrompe a execução da
música atual.
next id define que a música id, se presente na lista, será a próxima a ser tocada, desde que não seja a que esteja sendo tocada no
momento. A ocorrência de id na lista é realocada para tanto.
list mostra os ids das músicas na lista, separados por vírgula, ou a mensagem "[vazia]" caso a lista esteja vazia.
current mostra o id da música atual (sendo tocada no momento), ou da próxima a ser tocada, caso nenhuma esteja no momento. Se a
lista estiver vazia, apresente a mensagem: "Toque! Toque, Dijê!".
undo [*] desfaz os efeitos de uma instrução add, del, next ou play. Isoladamente, desfaz o efeito da última instrução. Havendo o
argumento opcional *, desfaz o efeito de todas as instruções dadas até aquele
ponto.
fight interrompe o programa para iniciar o ataque ao Império.

A comunicação com o sistema é simples, as funcionalidades são apresentadas como descritas acima e, sempre que uma música termina, o
codec responsável por reproduzir a música envia uma mensagem ended  indicando que a reprodução
dela terminou (obviamente, apenas
uma música que estava sendo tocada pode terminar). Quando uma música termina, a próxima inicia imediatamente, e não é mais possível
desfazer as instruções anteriores. O sistema recomeça a tocar a lista do início caso
a última música termine e a batalha não tenha
começado. 
Entrada

A entrada consiste de uma série de instruções, conforme descritas acima. É garantido que todo id é único e composto apenas por uma
palavra (sem espaço). A entrada sempre termina com a instrução fight.
Saída
A saída consiste na apresentação das informações quando solicitadas (
instruções list e current). Termine a execução apresentando a
mensagem: "Jedi Wagner, assuma o comando!".

Observações

Que a Força esteja contigo!


For example:

Input Result
add OyeComoVa
OyeComoVa

list
Jedi Wagner, assuma o comando!

fight

add OyeComoVa
OyeComoVa

add SambaPaTi
OyeComoVa,SambaPaTi

current
Jedi Wagner, assuma o comando!

list

fight

add NaoExisteAmorEmSP
NaoExisteAmorEmSP

add Subirusdoistiozin
Jedi Wagner, assuma o comando!

play

ended

ended

current

fight

add Retrovisor
Retrovisor,Brejense,EntaoPraQueOJardim

add Brejense
Brejense

add EntaoPraQueOJardim
Brejense

list
Jedi Wagner, assuma o comando!

next Brejense

current

ended

current

fight

Input Result
add MunRa
MunRa,NoSleepTillBrooklyn,MalandroEhMalandro,YoungWildFree

add NoSleepTillBrooklyn MunRa,NoSleepTillBrooklyn,MalandroEhMalandro,YoungWildFree

add MalandroEhMalandro
NoSleepTillBrooklyn

add YoungWildFree
NoSleepTillBrooklyn,MunRa,MalandroEhMalandro,YoungWildFree

list
Jedi Wagner, assuma o comando!

play

next MunRa

list

ended

current

next MunRa

list

fight

add ApesarDeVoce
ApesarDeVoce,Calice,VaiPassar,RodaViva

add Calice
Jedi Wagner, assuma o comando!

add RodaViva

undo

add VaiPassar

add RodaViva

list

fight

add ApesarDeVoce
[vazia]

add Calice
Jedi Wagner, assuma o comando!

add VaiPassar

add RodaViva

undo *

list

fight

add Gurenge
GurenNoYumiya

add GurenNoYumiya
Gurenge,GurenNoYumiya

next GurenNoYumiya
Jedi Wagner, assuma o comando!

play

next Gurenge

ended

stop

next GurenNoYumiya

current

list

fight

Answer: (penalty regime: 0, 0, 10, 20, ... %)


1 ▼ def main():  
2 ##########
3 playlist = []
4 playlist_b = []
6 last_command =[]
7
8 playing = []
9
10 ##########
11
12 ▼ while True:
13
14 command = input()
15

Verificar

Got
OyeComoVa

Jedi Wagner, assuma o comando!

OyeComoVa

OyeComoVa,SambaPaTi

Jedi Wagner, assuma o comando!

NaoExisteAmorEmSP

Jedi Wagner, assuma o comando!

Retrovisor,Brejense,EntaoPraQueOJardim

Brejense

Brejense

Jedi Wagner, assuma o comando!


Got
MunRa,NoSleepTillBrooklyn,MalandroEhMalandro,YoungWildFree

MunRa,NoSleepTillBrooklyn,MalandroEhMalandro,YoungWildFree

NoSleepTillBrooklyn

NoSleepTillBrooklyn,MunRa,MalandroEhMalandro,YoungWildFree

Jedi Wagner, assuma o comando!

ApesarDeVoce,Calice,VaiPassar,RodaViva

Jedi Wagner, assuma o comando!

[vazia]

Jedi Wagner, assuma o comando!

Toque! Toque, Dijê!

YControl

YControl

Jedi Wagner, assuma o comando!

Staralfur,Untitled#8,OlsenOlsen

Staralfur

Untitled#8

Untitled#8

Untitled#8,OlsenOlsen,Staralfur

Jedi Wagner, assuma o comando!


Got
RockawayBeach,BlitzKriegBop

BlitzKriegBop,RockawayBeach

BlitzKriegBop

BlitzKriegBop

*** Answer Error! ***

Line: 62

ValueError: 'PalhasDoCoqueiro' is not in list

Help

Jedi Wagner, assuma o comando!

KillingInTheNameOf,CalmLikeABomb

KillingInTheNameOf

Jedi Wagner, assuma o comando!

LoveOfMyLife,DontStopMeNow,RockIt,BohemianRhapsody

LoveOfMyLife

LoveOfMyLife,BohemianRhapsody,DontStopMeNow,RockIt

LoveOfMyLife,RockIt,BohemianRhapsody,DontStopMeNow

LoveOfMyLife,BohemianRhapsody,DontStopMeNow,RockIt

Jedi Wagner, assuma o comando!

Jedi Wagner, assuma o comando!


Got
Jedi Wagner, assuma o comando!
Got
TotalLogic

KlingonBattle

FloatingOffice

TotalLogic

TheEnterprise

KlingonBattle

LeavingDrydock

FloatingOffice

SpocksArrival

TotalLogic

TheCloud

TheEnterprise

VejurFlyover

KlingonBattle

TheForceField

Jedi Wagner, assuma o comando!


Got
Toque! Toque, Dijê!

Jedi Wagner, assuma o comando!

Toque! Toque, Dijê!

Jedi Wagner, assuma o comando!

*** Answer Error! ***

Line: 19

IndexError: list index out of range

Toque! Toque, Dijê!

Jedi Wagner, assuma o comando!

*** Answer Error! ***

Line: 60

ValueError: 'SambaMakossa' is not in list


Got
Toque! Toque, Dijê!

Jedi Wagner, assuma o comando!

Toque! Toque, Dijê!

Jedi Wagner, assuma o comando!

SambaMakossa

Jedi Wagner, assuma o comando!

[vazia]

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

Jedi Wagner, assuma o comando!


Got
[vazia]

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

Jedi Wagner, assuma o comando!


Got
[vazia]

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

MonstroInvisivel

Jedi Wagner, assuma o comando!

Alucinacao

Alucinacao

Alucinacao

Jedi Wagner, assuma o comando!

Alucinacao

Alucinacao

[vazia]

Jedi Wagner, assuma o comando!


Got
Alucinacao

Alucinacao

Alucinacao,SujeitoDeSorte

SujeitoDeSorte

SujeitoDeSorte

SujeitoDeSorte

Jedi Wagner, assuma o comando!

Alucinacao,SujeitoDeSorte

Alucinacao

SujeitoDeSorte

SujeitoDeSorte

Alucinacao,SujeitoDeSorte

Alucinacao

Jedi Wagner, assuma o comando!

Alucinacao,SujeitoDeSorte

Alucinacao

Alucinacao

SujeitoDeSorte

SujeitoDeSorte

SujeitoDeSorte

SujeitoDeSorte,Alucinacao

SujeitoDeSorte

Jedi Wagner, assuma o comando!


Got
Alucinacao

Alucinacao,SujeitoDeSorte

Alucinacao,SujeitoDeSorte,TudoOutraVez

Alucinacao,SujeitoDeSorte,TudoOutraVez,ApenasUmRapazLatinoAmericano

m
Alucinacao,SujeitoDeSorte,TudoOutraVez,ApenasUmRapazLatinoAmericano,CoracaoSelvagem

Alucinacao,SujeitoDeSorte,TudoOutraVez,ApenasUmRapazLatinoAmericano

Alucinacao,SujeitoDeSorte,TudoOutraVez,CoracaoSelvagem

Alucinacao,SujeitoDeSorte,ApenasUmRapazLatinoAmericano,CoracaoSelvagem

Alucinacao,TudoOutraVez,ApenasUmRapazLatinoAmericano,CoracaoSelvagem

SujeitoDeSorte,TudoOutraVez,ApenasUmRapazLatinoAmericano,CoracaoSelvagem

Jedi Wagner, assuma o comando!


Got
Alucinacao

Alucinacao,SujeitoDeSorte

Alucinacao,SujeitoDeSorte,TudoOutraVez

Alucinacao,SujeitoDeSorte,TudoOutraVez,ApenasUmRapazLatinoAmericano

m
Alucinacao,SujeitoDeSorte,TudoOutraVez,ApenasUmRapazLatinoAmericano,CoracaoSelvagem

Alucinacao,SujeitoDeSorte,TudoOutraVez,ApenasUmRapazLatinoAmericano

Alucinacao,SujeitoDeSorte,TudoOutraVez,CoracaoSelvagem

Alucinacao,SujeitoDeSorte,ApenasUmRapazLatinoAmericano,CoracaoSelvagem

Alucinacao,TudoOutraVez,ApenasUmRapazLatinoAmericano,CoracaoSelvagem

SujeitoDeSorte,TudoOutraVez,ApenasUmRapazLatinoAmericano,CoracaoSelvagem

Jedi Wagner, assuma o comando!

Jedi Wagner, assuma o comando!

Jedi Wagner, assuma o comando!

Jedi Wagner, assuma o comando!

Jedi Wagner, assuma o comando!

Jedi Wagner, assuma o comando!

[vazia]

Jedi Wagner, assuma o comando!

Jedi Wagner, assuma o comando!

Jedi Wagner, assuma o comando!


Got
BabyShark

Jedi Wagner, assuma o comando!

DejaVu

Jedi Wagner, assuma o comando!

Caramelldansen

Caramelldansen

RunningInThe90s,Caramelldansen

Jedi Wagner, assuma o comando!

LoveOfMyLife,DontStopMeNow,RockIt,BohemianRhapsody

LoveOfMyLife

LoveOfMyLife,BohemianRhapsody,DontStopMeNow,RockIt

LoveOfMyLife,RockIt,BohemianRhapsody,DontStopMeNow

LoveOfMyLife,BohemianRhapsody,DontStopMeNow,RockIt

Jedi Wagner, assuma o comando!


Got
INeedYouNow

INeedYouNow

Jedi Wagner, assuma o comando!

MunRa,NoSleepTillBrooklyn,MalandroEhMalandro,YoungWildFree

MunRa,NoSleepTillBrooklyn,MalandroEhMalandro,YoungWildFree

NoSleepTillBrooklyn

NoSleepTillBrooklyn,MunRa,MalandroEhMalandro,YoungWildFree

Jedi Wagner, assuma o comando!

RideoftheValkyries

Jedi Wagner, assuma o comando!


Got
Rakuen

KaikaiKitan

Rakuen

Jedi Wagner, assuma o comando!

LayLadyLay

Jedi Wagner, assuma o comando!

GurenNoYumiya

GurenNoYumiya,Gurenge

Jedi Wagner, assuma o comando!


Got
EveryBreathYouTake

orniaLove,ItsRainingAgain,Shannon EveryBreathYouTake,JackJill,StartMeUp,ISawtheLight,WhentheLightsGoOut,IKnewYouWereWaitingForMe,Califo
EveryBreathYouTake

Jedi Wagner, assuma o comando!

Parcialmente correto
Notas para este envio: 5,30/10,00.
 

Você também pode gostar