Python 程序运行时输出不符合预期

Python 程序运行时输出不符合预期,python,Python,我编写了一个程序,其中计算机猜测一个随机数,但输出与assignmets输出不符 import random import math smaller = int(input("Enter the smaller number: ")) larger = int(input("Enter the larger number: ")) count = 0 print() while True: count += 1 myNumber = (smaller + la

我编写了一个程序,其中计算机猜测一个随机数,但输出与assignmets输出不符

import random
import math

smaller = int(input("Enter the smaller number: "))
larger = int(input("Enter the larger number: "))

count = 0  

print()    
while True: 
    count += 1
    myNumber = (smaller + larger)/2
    print("%d %d" %(smaller, larger))
    print('Your number is %d' % myNumber) 
    choice = input('Enter =, <, or >:') 
    if choice == '=': 
        print("Hooray, I've got it in %d tries" % count) 
        break 
    elif smaller == larger:        
        print("I'm out of guesses, and you cheated") 
        break 
    elif choice == '<': 
        larger = myNumber - 1    
    else: 
        smaller = myNumber + 1
随机导入
输入数学
较小=整数(输入(“输入较小的数字:”)
较大=整数(输入(“输入较大的数字:”)
计数=0
打印()
尽管如此:
计数+=1
myNumber=(较小+较大)/2
打印(“%d%d”%(更小,更大))
打印('您的号码是%d'%myNumber〕)
选择=输入('Enter=,:')
如果选项=='=':
打印(“万岁,我在%d中找到了它,请计数)
打破
elif较小==较大:
打印(“我猜不到了,你作弊了”)
打破

elif choice=='我测试了您的代码,它似乎可以工作。 你确定测试时没有在输入中引入奇怪的字符吗?比如“<”(带空格)?
您可以做的事情是在检查大小写之前进行输入验证,如果检测到字符错误,则执行其他操作。

预期输出和当前输出是什么?预期:0 10您的数字是5 Enter=,:<0 4您的数字是2 Enter=,:>3 4您的数字是3实际:0 10您的数字是5 Enter=,:<6 10您的数字是8 Enter=,:>9 10您的数字是9似乎while循环的每次迭代都在积累以前的信息并计算出下一个结果,但我不确定。这与您的问题没有直接关系,但您为什么要使用旧式的字符串格式?我已经做了一些更改,到目前为止它仍在工作,输入较小的号码:输入较大的号码:0 50您的号码是25 Enter=,:0 24您的号码是12 Enter=,:0 11您的号码是5 Enter=,:0 4您的号码是2 Enter=,:0 1您的号码是0 Enter=,:1您的号码是1 Enter=,:2 1您的号码是1 Enter=,:回溯(最近一次调用):文件“guess.py”,第15行,在choice=input('Enter=,:')中EOFError:EOF当在不更改代码的情况下读取行时,不确定我是否可以帮助您;)我没有更改任何代码,这很奇怪。在它得到我发布的结果之前,它没有。本作业的最后一步是测试0-50,当选择1时,正确猜测后切换。当我运行程序并执行条目0 50时,我会得到错误。这段往事被认为是在传递欺骗的信息,但事实并非如此t@WillMcKenzie-您应该将您的问题更新为一个最小的可重复示例,包括(完整的)代码、示例输入、您得到的输出和您期望的输出。这样人们就可以准确地复制你正在做的事情。。。在评论中没有无休止的来回:——)