Evaldo-comp / Python-Mombaca

Repositório destinado a organizar a disciplina de Linguagem de Programação I a ser ministrada para turma de Licenciatura em Computação da UECE_FECLI Campus avançado de Mombaça
6 stars 4 forks source link

Prática02 - Aula02 #7

Open Evaldo-comp opened 3 years ago

Evaldo-comp commented 3 years ago

Para todas as práticas utilize as funções criadas anteriormente

Crie uma função chamada Match que receba o seu estado civil(função) e o de outra pessoa, e retorne "Bora" se ambos forem solteiros ou "Deixa quieto" se algum for Casado

Eudasio-Rodrigues commented 3 years ago
def match(eu, pessoa02):
    if eu == pessoa02:
        return print("Bora")
    else:
        return print("Deixa quieto")

print("s=solteiro e c=casado")
eu = input("Meu estado civil-->") 
pessoa02=input("Diga o seu estado civil--> ")

match(eu,pessoa02)
Evaldo-comp commented 3 years ago

Retornar um print pode ficar meio redundante, você pode retornar a string logo, ou colocar só o print sem return

marcelomoreira291 commented 3 years ago
def tinder(pessoa1, pessoa2):
    casado = 'c'
    solteiro = 's'
    if (pessoa1 == solteiro) and (pessoa2 == solteiro):
        print ('\n')
        print ('Bora!')
        print ('\n')
    else:
        print ('\n')
        print ('Deixa quieto!')
        print ('\n')

#Programa Principal
print ('-'*50)
print ('                TINDER DO PYTHON             ')
print ('-'*50)
print ('\n')
print ('Escolha S para Solteiro ou C para Casado')
pessoa1 = input ('Você: ')
pessoa2 = input ('O crush: ')
tinder(pessoa1, pessoa2)
marceloamaro commented 3 years ago
print("s=solteiro e c=casado")
eu = str(input("Meu estado civil-->")) 
pessoa02= str(input("Diga o seu estado civil da segunda pessoa--> "))

def match(eu, pessoa02):
    if eu == "s" and pessoa02 == "s":
        return "Bora"
    elif eu == "s" and pessoa02 == "c":
        return "Deixa quieto"
    elif eu == "c" and pessoa02 == "s":
        return "Deixa quieto"
    elif eu == "c" and pessoa02 == "c":
        return "Deixa quieto"
    else:
        return "invalido, informe s=solteiro e c=casado"

x = match(eu, pessoa02) 
print(x)
edinaraalencar commented 3 years ago
def match(eu, pessoa02):
    if eu == pessoa02:
        return print("Bora")
    else:
        return print("Deixa quieto")

print("s=solteiro e c=casado")
eu = input("Meu estado civil-->") 
pessoa02=input("Diga o seu estado civil--> ")

match(eu,pessoa02)

Eudasio o seu código não tem controle. Eu testei "c" e "c" e deu Bora Porque vc colocou bora se os dois resultados comparados forem iguais.

edinaraalencar commented 3 years ago
def match(eu, pessoa02):
    if (eu == pessoa02 == 's'): 
        print("Bora")
    elif (eu == pessoa02 == 'c'):
        print("Deixa quieto")
    elif ((eu == 'c') and (pessoa02 == 's')) or ((pessoa02 == 'c') and (eu == 's')):
        print("Deixa quieto")
    else:
        print("Opção Inválida!")

print("s=solteiro e c=casado")
eu = input("Meu estado civil-->") 
pessoa02=input("Diga o seu estado civil-->")

match(eu,pessoa02)

Segue uma sugestão Eudasio.

edinaraalencar commented 3 years ago
'''
Para todas as práticas utilize as 
funções criadas anteriormente

Crie uma função chamada Match que receba 
o seu estado civil(função) e o de outra pessoa, 
e retorne "Bora" se ambos forem solteiros ou 
"Deixa quieto" se algum for Casado
'''
def match(user1, user2):
    if (user1 == 2) and (user2 == 2):
        print("Deixa quieto")
    elif (user1 == 1) and (user2 == 1):
        print("Bora")
    elif (((user1 == 1) and (user2 == 2)) or ((user1 == 2) and (user2 ==1))):
        print("Deixa Quieto")
    else:
        print("Opção inválida !")

#Função Principal
print("Digite 1 - Solteiro\n Digite 2 - Casado")
user1 = int (input("Digite o Estado Civil do Usuario 1"))
user2 = int (input("Digite o Estado Civil do Usuario 2"))
match(user1, user2)
Evaldo-comp commented 3 years ago
   elif ((eu == 'c') and (pessoa02 == 's')) or ((pessoa02 == 'c') and (eu == 's')):

Tenho uma sugestão para diminuir o tamanho da linha acima

elif ((eu == 'c' or 's') and (pessoa02 == 's' or 'c')):
edinaraalencar commented 3 years ago
   elif ((eu == 'c') and (pessoa02 == 's')) or ((pessoa02 == 'c') and (eu == 's')):

Tenho uma sugestão para diminuir o tamanho da linha acima

elif ((eu == 'c' or 's') and (pessoa02 == 's' or 'c')):
Eu fiz essa alteração no meu código mas dá erro em uma condição. #help
'''
Para todas as práticas utilize as 
funções criadas anteriormente

Crie uma função chamada Match que receba 
o seu estado civil(função) e o de outra pessoa, 
e retorne "Bora" se ambos forem solteiros ou 
"Deixa quieto" se algum for Casado
'''
def match(user1, user2):
    if (user1 == 2) and (user2 == 2):
        print("Deixa quieto")
    elif (user1 == 1) and (user2 == 1):
        print("Bora")
    elif ((user1 == 1 or 2) and (user2 == 2 or 1)):
        print("Deixa Quieto")
    else:                         #Essa condição não está sendo satisfeita
        print("Opção inválida !") #Quero que ela seja satisfeita usando 1 e 7

#Função Principal
print("Digite 1 - Solteiro\n Digite 2 - Casado")
user1 = int (input("Digite o Estado Civil do Primeiro Usuario: "))
user2 = int (input("Digite o Estado Civil do Segundo Usuario: "))
match(user1, user2)
edinaraalencar commented 3 years ago
eu = None
pessoa02 = None

def estadoCivil (eu, pessoa02):
    print ("s=solteiro e c=casado")
    eu = input ("Meu estado civil-->") 
    pessoa02=input ("Diga o seu estado civil-->")
    return eu, pessoa02

#estadoCivil (eu, pessoa02)

def match(estadoCivil (eu, pessoa02)): #Invalid sytax
    if (eu == pessoa02 == 's'): 
        print("Bora")
    elif (eu == pessoa02 == 'c'):
        print("Deixa quieto")
    elif ((eu == 'c' or 's') and (pessoa02 == 's' or 'c')):
        print("Deixa quieto")
    else:
        print("Opção Inválida!")

match(estadoCivil(eu, pessoa02))

Erro na função match ao passar como parâmetro a função estadoCivil. Mensagem do erro: Invalid syntax. Eu testei a função estadoCivil sozinha e está funcionando corretamente.

edinaraalencar commented 3 years ago
'''
Para todas as práticas utilize as 
funções criadas anteriormente

Crie uma função chamada Match que receba 
o seu estado civil(função) e o de outra pessoa, 
e retorne "Bora" se ambos forem solteiros ou 
"Deixa quieto" se algum for Casado
'''
estado_civil = None #Cria variavel e não atribui valor

def estadoCivil (estado_civil): #Cria a função e passa um argumento
    estado_civil = int (input ("Qual o estado civil-->")) #A variavel recebe o valor digitado
    return estado_civil #Guarda o valor digitado pelo usuario

#estadoCivil (estado_civil)

def match(user1, user2): #A função precisa receber 2 estados civil
    if (user1 == user2 == 1): 
        print("Bora")
    elif (user1 == user2 == 2):
        print("Deixa quieto")
    elif ((user1 == 2) and (user2 == 1)) or ((user2 == 2) and (user1 == 1)):
        print("Deixa quieto")
    else:
        print("Opção Inválida!") #Condição de controle de dados fora do esperado

print ("Opções:\n1 - solteiro\n2 - casado")
match(estadoCivil(estado_civil), estadoCivil(estado_civil)) #Função que recebe outra função como parametro

Todos os erros foram corrigidos, segue versão final !
Evaldo-comp commented 3 years ago

Ok Edinara, obrigado. O erro que você estava encontrando devia ser por conta da variável global com o valorNone, mas vi que você já conseguiu corrigir tudo. :octocat: