0

input()異なるデータ型を取得するときに異なるものを印刷したい。私は次のスクリプトを持っています:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

f = input("Please enter a number: ")

if f == type(int):
    print("That's good")
elif f == type(str):
    print("That isn't a number.")
else:
    print("BrainOverflow")

このスクリプトは常にelse部分を返します。

4

2 に答える 2

2

input()呼び出しの結果は常に文字列であるため、試行しても意味がありません。コードには、文字列が整数の表現であるかどうかを確認するための専用のメソッドが必要です。見る

Python:Try / Exceptを使用せずに、文字列がintを表すかどうかを確認しますか?

于 2012-08-11T11:07:55.377 に答える
1

Pythonで型チェックを行うことはお勧めしません。そのため、次のようなことを試すことができます。

f = input("Please enter a number: ")
try:
    f=int(f)
    print("That's good")
except ValueError:
    print("That isn't a number.")

また :

f = input("Please enter a number: ")
if f.isdigit():
    print("That's good")
else:
    print("That isn't a number.")
于 2012-08-11T11:07:42.787 に答える