Lol, im starting to get the hang out of, onto the next hurdle, i looked up the error and it says the data is none?
Traceback (most recent call last): File "guess.py", line 34, in <module> main(random.randint(1, 10)) File "guess.py", line 27, in main guess, tries = getguess(target, allowed) TypeError: 'NoneType' object is not iterable On Saturday, September 28, 2013 12:52:26 AM UTC-4, mel...@gmail.com wrote: > Hey, > > > > How do i go about coming up/coding tests for this program below. Not sure how > to even approach writing about 5 tests for it. > > > > Initially I had this for the test but its not working well. > > > > Test was name test_guess.py (Code Below) > > > > [code] > > from unittest import TestCase > > import pexpect as pe > > > > import guess as g > > import random > > > > random_number = random.randrange(1, 10) > > correct = False > > > > class GuessTest(TestCase): > > def setUp(self): > > self.intro = 'I have chosen a number from 1-10' > > self.request = 'Guess a number: ' > > self.responseHigh = "That's too high." > > self.responseLow = "That's too low." > > self.responseCorrect = "That's right!" > > self.goodbye = 'Goodbye and thanks for playing!' > > > > def test_main(self): > > #cannot execute main now because it will > > #require user input > > from guess import main > > > > def test_guessing_hi_low_4(self): > > # Conversation assuming number is 4 > > child = pe.spawn('python guess.py') > > child.expect(self.intro,timeout=5) > > child.expect(self.request,timeout=5) > > child.sendline('5') > > child.expect(self.responseHigh,timeout=5) > > child.sendline('3') > > child.expect(self.responseLow,timeout=5) > > child.sendline('4') > > child.expect(self.responseCorrect,timeout=5) > > child.expect(self.goodbye,timeout=5) > > > > > > def __init__(self): > > self.number = random.randint(0,10) > > HIGH = 1 > > LOW = 2 > > OK = 3 > > > > def guess(self, number): > > if number > self.number: > > return self.HIGH > > if number < self.number: > > return self.LOW > > return self.OK > > > > def test_guesstoolow(self): > > while not correct: > > guess = input("What could it be?") > > if guess == random_number: > > print "Congrats You Got It" > > correct = True > > elif guess > random_number: > > print "To High" > > elif guess < random_number: > > print "To Low" > > else: > > print "Try Again" [/code] > > > > Python code for game below > > > > [code] > > import random > > > > intro = 'I have chosen a number from 1-10' > > request = 'Guess a number: ' > > responseHigh = "That's too high." > > responseLow = "That's too low." > > responseCorrect = "That's right!" > > goodbye = 'Goodbye and thanks for playing!' > > > > print(intro) > > > > def main(): > > guessesTaken = 0 > > number = random.randint(1, 10) > > while guessesTaken < 5: > > print(request) > > guess = input() > > guess = int(guess) > > > > guessesTaken = guessesTaken + 1 > > > > if guess < number: > > print(responseLow) > > > > if guess > number: > > print(responseHigh) > > > > if guess == number: > > break > > > > if guess == number: > > guessesTaken = str(guessesTaken) > > print(responseCorrect + '! You guessed my number in ' + > guessesTaken + ' guesses!') > > > > if guess != number: > > number = str(number) > > print(goodbye + ' The number I was thinking of was ' + number) > > > > ##def main(): > > # print(intro) > > # user_input = raw_input(request) > > # print(responseHigh) > > # print(request) > > # user_input = raw_input(request) > > # print(responseLow) > > # user_input = raw_input(request) > > # print(responseCorrect) > > # print(goodbye) > > > > if __name__ == '__main__': > > main()[/code] -- https://mail.python.org/mailman/listinfo/python-list