0

1 つのリストに数字を文字列として入力する必要があるリストを作成しようとしていますが、while ループでそれを実行しようとしています。

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

ただし、数字が入力されると、u'X' として返されます。X は入力された数字です。これらの数値の数学的計算は実行できません。

通常は str() または int() を使用しますが、この場合は一般化できません。

u' ' プレフィックスを単純に if ステートメントを使用して削除する方法はありますか?

4

1 に答える 1

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

于 2013-11-05T18:44:59.377 に答える