Member 12388676 Ответов: 2

Когда я пытаюсь запустить его, он выдает мне ошибку, говоря, что Викторина не определена ?


"""quiz.py - simple quiz program."""
 

def main():
        """Set up the quiz."""
 
# The questions and answers are in this dictionary.
qs = {"What's the capital of England? ":"London",
"What's the third planet in the Solar System? ":"Earth",
"Who wrote \"Great Expectations\"? ": "Charles Dickens",
"Who sang \"Someone Like You\"? ":"Adele",
"Who is the current Doctor Who? ":"Peter Capaldi",
"Who is the sheriff in \"The Walking Dead\"? ": "Rick Grimes",
"Which metal is liquid at room temperature? ": "Mercury",
"Who plays Katniss in \"The Hunger Games\"? ": "Jennifer Lawrence",
"Which element combines with hydrogen to make water? ": "Oxygen",
"What is the highest mountain in the UK? ": "Ben Nevis"}
 
print("*** Quiz ***\n")
name = input("Please enter your name: ")
print()
print("\nWell done {0}, you scored {1} out of {2}).".format(name, quiz(qs), len(qs)))
 
def quiz(qs):
#Returns a score. Asks questions from qs dictionary.""
score = 0
# Use the .items() method to get the key / value pairs.
	for q,a in qs.items():
		if input(q).lower() == a.lower():
			score += 1
		print("Correct.")
	else:
		print("Sorry, correct answer is \"{}\".".format(a))
	return score
 
	if __name__ == "__main__":
		main()


Что я уже пробовал:

исправлено небольшое количество ошибок таких как блоки отступов и то что я использую python 3.4 может ли кто нибудь дать мне руку пожалуйста

Suvendu Shekhar Giri

Я не знаю python, но это из-за того, что вы пытаетесь получить доступ к функции до того, как она будет определена, если Python работает таким образом.

[no name]

Питон прекрасно работает в этом смысле сэр

2 Ответов

Рейтинг:
5

VISWESWARAN1998

# Fixed intendations

def quiz(qs):
    score = 0
    for q,a in qs.items():
        if input(q).lower()==a.lower():
            score+=1
            print('true')
    return score
 
 
def main():
    # The questions and answers are in this dictionary.
    qs = {"What's the capital of England? ":"London",
        "What's the third planet in the Solar System? ":"Earth",
        "Who wrote \"Great Expectations\"? ": "Charles Dickens",
        "Who sang \"Someone Like You\"? ":"Adele",
        "Who is the current Doctor Who? ":"Peter Capaldi",
        "Who is the sheriff in \"The Walking Dead\"? ": "Rick Grimes",
        "Which metal is liquid at room temperature? ": "Mercury",
        "Who plays Katniss in \"The Hunger Games\"? ": "Jennifer Lawrence",
        "Which element combines with hydrogen to make water? ": "Oxygen",
        "What is the highest mountain in the UK? ": "Ben Nevis"}
         
    print("*** Quiz ***\n")
    name = input("Please enter your name: ")
    print()
    print("\nWell done {0}, you scored {1} out of {2}).".format(name, quiz(qs), len(qs)))
         

 
if __name__ == "__main__":
	main()


И наконец, я запустил программу, она работает, и она задала мне несколько вопросов, я дал правильные ответы только на 4 вопроса Лондон, Меркурий, Земля и кислород, но ваша программа сказала "хорошо сделано", где я на самом деле провалился в тесте in, Вы тоже должны это исправить.


Рейтинг:
1

Richard MacCutchan

Строка 1 неверна, на этом уровне могут существовать только комментарии. Комментарии к документации должны находиться внутри блока.

Большая часть оставшихся отступов неправильна; исправьте это, и программа запустится.