0

我看过很多类似的问题,但找不到答案,所以我希望你们能帮助我。我不断收到该TypeError消息,但不知道为什么。任何建议将不胜感激。

number = raw_input("Enter a number to be rounded: ")

decimallocation = number.find('.')
right = number[decimallocation:]    
greater = int(number+right+1)
lesser = int(number+right)

if right >= .5:
    print (greater)
else:
    print (lesser)
4

2 回答 2

1

错误是这一行:

greater = int(number+right+1)

我认为你想要做的是:

greater = int(number+right) + 1

另一个可能的错误是检查:

right > .5

right 是 astr.5不是

于 2012-12-04T03:24:47.667 回答
0

你需要:

greater=int(int(number)+int(right)+1)
lesser=int(int(number)+int(right))

您需要确保添加的所有内容都是 anint或 a str,您不能将这两种类型加在一起。

于 2012-12-04T03:25:35.370 回答