Skip to content
Advertisement

How may I define more option in my question?

a1=str(input("4.Name one neighbouring country of India."))
if a1.lower()== ("pakistan"):                  
    print("correct +20 Score")
    score+=20
if a1.lower()== ("china"):                  
    print("correct +20 Score")
    score+=20
if a1.lower()== ("nepal"):                  
    print("correct +20 Score")
    score+=20
if a1.lower()== ("bhutan"):                  
    print("correct +20 Score")
    score+=20
if a1.lower()== ("bangladesh"):                  
    print("correct +20 Score")
    score+=20    
if a1.lower()== ("myanmar"):                 
    print("correct +20 Score")
    score+=20
if a1.lower()== ("sri lanka"):                  
    print("correct +20 Score")
    score+=20
if a1.lower()== ("maldivs"):                  
    print("correct +20 Score")
    score+=20    
else:
    print("incorrect +0 Score")

I made this cause my question contains 8 answers but in output, it prints both “correct +20 Score” and “incorrect +0 Score”. I want to fix it Please help me.

Advertisement

Answer

You need to use else statements when comparing, not multiple ifs. If you need multiple ifs you should use elif.

https://www.tutorialspoint.com/python/python_if_else.htm

However, it would be much more clear and concise to store your answers in a list and check if the users response exists in the list, else no score.

neighbouring = ['pakistan', 'china', 'nepal', 'bhutan', 'bangladesh', 'myanmar', 'sri lanka', 'maldivs']

a1=str(input("4.Name one neighbouring country of India."))

if a1.lower() in neighbouring:
    print('correct 20 score')
    score += 20
else:
    print('incorrect')
User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement