我的程序是在python中猜测0到100之间的数字

时间:2017-06-13 18:10:19

标签: python-3.x

print("Please think of a number between 0 and 100!")
low = 0
high = 100
ans = (low + high) / 2
while True:
    print("Is your secret number %d " %ans)
    userguess = input("Enter 'h' to indicate the guess is too high. Enter 
    'l' to indicate the guess is too low. Enter 'c' to indicate I guessed 
    correctly. ")
    if userguess == 'h':
        high = ans
    elif userguess == 'l':
        low = ans
    elif userguess == 'c':
        break
    else :
        print("Sorry, I did not understand your input.")
        continue
    ans = (low + high) / 2

print("Game over. Your secret number was: %d" %ans)

当数字为42和91时,它不会按照应有的方式工作。这段代码有什么问题。

2 个答案:

答案 0 :(得分:0)

当您应该仅使用整数算术时,您将获得中间浮点值

答案 1 :(得分:0)

要回答您的问题,代码中没有任何问题。已经尝试了你提到的数字,并且它运行正常。

根据Python 3.x文档,您正确使用printf样式函数。此类转换唯一不可选的组件是

  
      
  1. '%'字符,用于标记说明符的开头。
  2.   

因此,您正在强制从float转换为“Signed integer decimal”以正确地将其打印给用户。

一切都是正确的,在我看来,一切正常。