Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试创建一个列表,我需要在一个列表中输入数字作为字符串,并且我正在尝试使用 while 循环来完成。
while input_list[-1] != "": input_list.append(raw_input())
但是,当输入数字时,它们将返回为 u'X',X 是输入的数字。我无法对这些数字进行数学计算。
我通常会使用 str() 或 int() 但在这种情况下我不能一概而论。
有没有比使用 if 语句更简单的方法来删除 u' ' 前缀?
“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