数字上的Unicode前缀 - Python

时间:2013-11-05 18:40:32

标签: python unicode

我正在尝试创建一个列表,我需要在一个列表中输入数字作为字符串,我尝试使用while循环。

while input_list[-1] != "":
    input_list.append(raw_input())

然而,当输入数字时,它们将作为u'X'返回,X是输入的数字。我无法对这些数字进行数学计算。

我通常会使用str()或int(),但在这种情况下我无法概括。

使用if语句是否有更简洁的方法来删除u''前缀而不是simpley?

1 个答案:

答案 0 :(得分:2)

“u”前缀“试图指示值的类型。你这里有字符串,而不是数字。如果要进行数学运算,则需要将字符串转换为数字。如果他们碰巧输入了一个无法转换为数字的字符串,您应该告诉用户发生了什么

user_typed = raw_input()
try:
    user_number = float(user_typed)
except ValueError:
    print "Couldn't convert this to a number, please try again: %r" % user_typed

另请参阅:LBYLEAFP