2015-11-21 2 views
0

Я пишу домашнее задание по компьютерной науке на внешних источниках кода, что время, когда требуется, чтобы кто-то угадал вопрос.Внешние источники кода Домашнее задание

Однако, когда я запускаю его я получаю эту ошибку:

Traceback (most recent call last): 
    File "E:/Documents/Guess band member.py", line 14, in <module> 
    start = time.time() 
AttributeError: 'float' object has no attribute 'time' 

Я бы очень признателен, если кто-то может помочь мне решить эту проблему.

import time 
print("You can type 'quit' to exit") 
Exit = False 

Band = ["harry", "niall", "liam", "louis" ] 

while Exit == False: 
    print("Guess a band member") 
    start = time.time() 
    Guess = input(":") 
    end = time.time() 
    Guess = Guess.lower() 
    if Guess == 'quit': 
     Exit = True 
    elif Guess in Band: 
     print("You're right") 
    elif Guess == "zayn": 
     print("Wrong") 
     print("He left.") 
    else: 
     print("Fool!") 
    time = end - start 
    print("You took", time, "seconds to guess.") 
+0

'time = end - start'? – jonrsharpe

ответ

3

Вы заменили time модуль импортирован на вершине с плавающей запятой здесь:

time = end - start 

В следующей итерации вашего while цикла, time теперь float объект, а не объект модуля, поэтому ваш вызов time.time() завершается с ошибкой.

Переименовать эту переменную на что-то, что не конфликтует:

elapsed_time = end - start 
print("You took", elapsed_time, "seconds to guess.") 

Как примечание стороны, вам не нужно использовать переменную дозорный (Exit); просто использовать while True: и выйти из цикла с break высказыванием:

while True: 
    # ... 

    if Guess == 'quit': 
     break 

    # ... 

В других обстоятельствах вы бы использовать while not Exit:, а не тест на == False.

Смежные вопросы