2016-04-25 11 views
2

私はこのリンクと他のいくつかを見てきましたが、主にPythonバージョン2に焦点を当てています: Two values from one input in python? (注:リンクの質問者と同じです上記で、私もCでコード化しました)Python 3.4で一度に2つの異なる入力タイプを取る方法

これに相当するバージョン3はありますか?

integer_n, float_n = int(input("Enter a integer and float: ")) 

#And the user enters: 
#4, 5.5 

pythonは整数をfloatに暗黙的に変換するので、これはうまくいくはずです。しかし、私はIDEからエラーを取得しています。

答えて

0

あなたはこのようにそれを行うことができますの

integer1, float1 = input("Enter an integer and float:").split() 

をもちろんこれは単なる例に過ぎず、データ型をチェックしません。

+0

印刷機能が一度に2つの値を取るとき、私はあなたの例のような分割機能を使わなければならない、という問題を今見ています。しかし、最初に2つの値を格納するときの型は、文字列型であり、整数でも浮動小数点でもありません。だから、私たちはあとで浮動小数点または整数として単純な算術演算を使用するためにそれらを手動で変換する必要があります。つまり、入力を取り込むときにその行の入力を変換するのではなく、そのまま入力として残しておく必要があります。とても感謝しております –

3

入力関数は文字列を返します。したがって、オブジェクトの型を読み取った後、オブジェクトの型をstdinに変換する必要があります。そして、あなたはより良い個別の番号を取得し、予期しないエラーを処理するために試し-除い表現を使用するより安全なアプローチとして:

while True: 
    try: 
     integer_n = int(input("Enter an integer:")) 
     float_n = float(input("Enter a float: ")) 
    except ValueError: 
     print("Please enter valid numbers.") 
    else: 
     break 
+1

私はこの回答に同意します。これを処理する方法はありません。ユーザーの入力を解析する必要があります。これは面倒です。個々の番号を別々に取るほうが、ユーザーからのキーストロークが少なくなります。 – Igor

関連する問題