2016-04-07 3 views
0

Мой код работал нормально. если я не использую эту функцию, тогда программы работают так, как надо. Когда у меня есть функция, она сообщает мне, что переменное число не определено. Я попытался определить переменную как 0 или 1, но затем она заканчивается тем, что делает мой номер 0 или 1. Имейте в виду, что это для школы. Предложения были бы полезными, спасибо!rando guessing game in python

import random 

easy = random.randint (1,20) 
medium = random.randint (1,50) 
hard = random.randint (1,100) 
guessesTaken = 0 

name = input("Hello, What is your name? ") 

def difficulties(): 
    difficulty = input("Well, ",name,". What dificulty would you like ?  easy, medium, or hard? ") 
    if difficulty == "easy": 
     number = easy 
     print ("Okay, ",name,". I am thinking of a number between 1 and 20") 
    if difficulty == "medium": 
     number = medium 
     print ("Okay, ",name,". I am thinking of a number between 1 and 50") 
    if difficulty == "hard": 
     number = hard 
     print ("Okay, ",name,". I am thinking of a number between 1 and 100") 

difficulties() 

while guessesTaken < 6: 
    guess = int(input('Take a guess. ')) 
    guessesTaken = guessesTaken + 1 

    if guess < number: 
     print("Your guess is too low.") 

    if guess > number: 
     print("Your guess is too high.") 

    if guess == number: 
     break 

if guess == number: 
    guessesTaken = str (guessesTaken) 
    print("Good job, ",name," ! You guessed my number in ",guessesTaken," guesses, good job!") 

if guess != number: 
    number = str (number) 
    print("Nope. The number I was thinking of was ",number,", better luck next time!") 
+0

«вызывает у меня некоторые проблемы» слишком неоднозначно. Пожалуйста, разместите точные вопросы, с которыми вы столкнулись. –

+0

Мой плохой, если я не использую функцию, то программы работают так, как надо. Когда у меня есть функция, она сообщает мне, что переменное число не определено. –

+0

Спасибо, пожалуйста, добавьте это в вопрос. –

ответ

0

Причина он говорит, что number не определен, потому что это локальная переменная difficulties(). Чтобы устранить эту проблему, в функции difficulties(), после difficulty ввода, просто введите

global number

Это делает numberglobal переменная, которая позволяет ссылаться вне функции difficulties(). Надеюсь, это поможет!