I have several considerations regarding your code:
ConvInicial = str(input('Você: '))
if ConvInicial == 'Não estou passando bem' or ConvInicial == 'Estou com dor' or ConvInicial == 'Preciso de ajuda':
print('O que você está sentindo?')
RespDor = input('Você: ')
if RespDor == 'Estou com dor de cabeça' or RespDor == 'Dor de cabeça' or RespDor == 'Minha cabeça dói':
Randomizar = ['Neosaldina', 'Dorflex', 'Advil', 'Tylenol', 'Aspirina', 'Naldecon']
Randomizar = random.choice(Randomizar)
print('Você pode usar um {} para aliviar sua dor!'.format(Randomizar))
else:
print('Não entendi, poderia ser mais claro?')
Are they:
- The return of
input
always is a string, you don’t have to do str(input())
(Python 3);
- When starting the program, the user will have to answer "You" without knowing the question, and this makes no sense to those who do not know the program;
- You can replace a "ous" string in a condition by the operator
in
;
- Beware of indentation, it changes the code completely if used wrong;
- From Python 3.6, it is recommended to use f-string for interpolation;
My solution would look like:
from random import choice
sentimentos = ['Não estou passando bem', 'Estou com dor', 'Preciso de ajuda']
sintomas = ['Estou com dor de cabeça', 'Dor de cabeça', 'Minha cabeça dói']
remedios = ['Neosaldina', 'Dorflex', 'Advil', 'Tylenol', 'Aspirina', 'Naldecon']
sentimento = input('Como está se sentindo hoje?')
if sentimento in sentimentos:
sintoma = input('O que está sentindo?')
if sintoma in sintomas:
remedio = choice(remedios)
print(f'Você pode tomar um {remedio} para aliviar sua dor')
else:
print('Desculpe-me, mas não sei o que fazer nesses casos')
else:
print('Desculpe-me, mas não sei o que fazer nesses casos')
Adding that into a bow, as you requested, would be:
from random import choice
sentimentos = ['Não estou passando bem', 'Estou com dor', 'Preciso de ajuda']
sintomas = ['Estou com dor de cabeça', 'Dor de cabeça', 'Minha cabeça dói']
remedios = ['Neosaldina', 'Dorflex', 'Advil', 'Tylenol', 'Aspirina', 'Naldecon']
while True:
sentimento = input('Como está se sentindo hoje?')
if sentimento in sentimentos:
while True:
sintoma = input('O que está sentindo?')
if sintoma in sintomas:
remedio = choice(remedios)
print(f'Você pode tomar um {remedio} para aliviar sua dor')
break
else:
print('Desculpe-me, mas não sei o que fazer nesses casos')
break
else:
print('Desculpe-me, mas não sei o que fazer nesses casos')
See working on Repl.it
Thank you, I had tried but was giving error, I believe that the indentation was wrong
– accquaviva