标签: python unicode
我正在尝试创建一个列表,我需要在一个列表中输入数字作为字符串,我尝试使用while循环。
while input_list[-1] != "": input_list.append(raw_input())
然而,当输入数字时,它们将作为u'X'返回,X是输入的数字。我无法对这些数字进行数学计算。
我通常会使用str()或int(),但在这种情况下我无法概括。
使用if语句是否有更简洁的方法来删除u''前缀而不是simpley?
答案 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
另请参阅:LBYL和EAFP