Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desafio 059 do Curso em Vídeo de Python 3 #1

Closed
GabrieliNunes12 opened this issue Aug 28, 2023 · 1 comment
Closed

Desafio 059 do Curso em Vídeo de Python 3 #1

GabrieliNunes12 opened this issue Aug 28, 2023 · 1 comment

Comments

@GabrieliNunes12
Copy link

Olá,

Estou trabalhando no Desafio 059 do Curso em Vídeo de Python 3 e me deparei com o seu código que utiliza a sintaxe de correspondência match no lugar do “if-elif-else” para implementar o menu de operações. Seu código

...
match menu # A sintaxe de correspondência (match) foi introduzida no Python 3.10. Se você estiver usando uma versão anterior do Python, você precisará substituir o padrão de correspondência por estruturas if-elif-else.
	case 1 # Somar
		print(f'{NEGRITO}{A} + {B} = {A + B}{FIM}')
	case 2 # Multiplicar
		print(f'{NEGRITO}{A}  {B} = {A  B}{FIM}')
	case 3 # Maior
		if A == B
			print(f'{NEGRITO}A e B são Iguais.{FIM}')
		else
			print(f'{NEGRITO}O Maior Valor é {A if A  B else B}.{FIM}')
	case 4 # Novos Números
		A = float(input(f'{NEGRITO}A = {FIM}'))
		B = float(input(f'{NEGRITO}B = {FIM}'))
	case _ # Opção Não Encontrada
		print(f'{NEGRITO}{menu} é um Índice de Operação Inválida.{FIM}')
...

Gostaria de entender melhor como o código funciona nesse contexto, poderia me explicar como usar a estrutura match comparando-a com o “if-elif-else”.

Atenciosamente,
Gabrieli Nunes

@GabrieliNunes12 GabrieliNunes12 changed the title coloca "Desafio 059 do Curso em Vídeo de Python 3" como título "Desafio 059 do Curso em Vídeo de Python 3" como título Aug 28, 2023
@GabrieliNunes12 GabrieliNunes12 changed the title "Desafio 059 do Curso em Vídeo de Python 3" como título "Desafio 059 do Curso em Vídeo de Python 3" Aug 28, 2023
@Assaoka Assaoka changed the title "Desafio 059 do Curso em Vídeo de Python 3" Desafio 059 do Curso em Vídeo de Python 3 Aug 28, 2023
@Assaoka
Copy link
Owner

Assaoka commented Aug 28, 2023

Olá,

A sintaxe de correspondência match é uma maneira mais legível de lidar com múltiplas opções em um código. Ela se assemelha a um "switch case" de outras linguagens de programação.

Para usar essa estrutura você deve estar na versão 3.10 ou superior e colocar a variável que deve ser analisada ao lado do "match" seguida dos casos, da seguinte forma:

match  X:
	case 1:
		// Código 1
	case 2:
		// Código 2
	case _:
		// Código 3

Esse mesmo código em “if-elif-else” seria equivalente a:

if X == 1: 
	// Código 1
elif X == 2:
	// Código 2
else:
	// Código 3	

Vou refazer o Desafio 059 e postar lá para que possa ver.

Atenciosamente,
João Assaoka

@Assaoka Assaoka closed this as completed Aug 28, 2023
@Assaoka Assaoka pinned this issue Aug 28, 2023
Repository owner locked and limited conversation to collaborators Aug 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants