0

私はPythonプログラミングに不慣れです。演習の1つで問題が発生し、解決策を考えることができません。したがって、入力が「int」か「float」かを確認して、絶対値を返す必要があります。それ以外の場合はエラーメッセージ。'raw_input()'を使用してユーザーからの入力を受け入れることを選択しましたが、問題は、入力を文字列として受け入れることです。繰り返しになりますが、私はPythonを初めて使用するので、この質問が馬鹿げているように思われる場合は失礼しますが、本当に助けが必要です。質問とコードも追加しました。ありがとう!!

質問:

これは2つの部分からなります。最初に、1つのパラメーターを使用して関数distance_from_zeroを定義します(任意のパラメーター名を選択してください)。次に、その関数に次のことを実行させます。受信する入力のタイプを確認します。タイプがintまたはfloatの場合、関数は関数入力の絶対値を返す必要があります。タイプが他のタイプの場合、関数は「これは整数でも浮動小数点数でもありません!」を返す必要があります。

コード:

def distance_from_zero(n):
    n=raw_input("Please enter a number:")
    if type(n)==int or type(n)==float:
        print abs(n)
    else:
        print "This isn't an integer or a float!"
4

6 に答える 6

3

プログラマーがすべきように、この問題について考えてもらうためのいくつかの質問があります。

  1. 数値以外の文字列を に変換しようとするとどうなりますintか?
  2. 整数のような文字列を に変換しようとするとどうなりますintか?
  3. float-like-string を に変換しようとするとどうなりますintか?
  4. float-like-string を に変換しようとするとどうなりますfloatか?
于 2012-10-19T16:15:22.967 に答える
1
try:
    float(n)
except Exception:
    //not a float

そのようなことを試してみてください。

于 2012-10-19T16:12:47.250 に答える
0

終了ステートメントを印刷するのではなく、戻す必要があります

于 2015-05-03T04:19:57.173 に答える