ifステートメントgetはスキップされ、elseステートメントgetのみが出力されます。文字列またはintを単一の変数に格納するにはどうすればよいですか?

キランクドパン

私は演習をしようとしていましたが、次の問題を解決するように求められました。私が試した演習問題の画像ですが、演習に示されているのとまったく同じキーワードを使用していません。

これが私のコードです

def StringLength(length_of_String):
    return len(text)

text = input("length_of_String :")

if type(text) == int:
    print ("python doesn't show length of integers")
else :
    print (len(text))

しかし、ここで問題になるのは、「ジョーカー」のようなテキストを追加した場合です。長さは「5」と出力されますが、これは正しいです。

しかし、「101」などの整数または浮動小数点数を入力すると、文字列として読み取られるため、長さは「3」として出力されます。

では、なぜ整数または文字列を入力すると、文字列または整数として認識される変数を追加するのですか?

SmitM

some_variable = input()デフォルトでは、文字列が表示されます。コードを変更することをお勧めします。

def is_number(s):
try:
    float(s)
    return True
except ValueError:
    return False

def StringLength():
    text = input('Enter:')
    if is_number(text):
        print ("python doesn't show length of integers")
    else :
        return(len(text))

#StringLength() #Remove the '#' at the start of the line to test the function

編集:入力した値が数値かどうかをテストする関数を追加しました

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ