startswith()を使用して空白の入力を検出する

0
2022.01.14
while True:

    familar_name = input('enter your name') 

    if familar_name.startswith(""):
     print('Please enter a valid name')
    elif familar_name.isalpha:
        print('Hello', familar_name)
        break

現在のコードは、空白を検出するために使用しようとしていますが 、elif ステートメントはアルファベットの入力を入力しても一度も満たされていません。

回答
4
2022.01.14

文字列は常に空の文字列で始まり、この条件は True です。そのため、elifステートメントが機能しません。

a = "hi"
if a.startswith(""):
    print('yes')

アウトプット:

yes

空白の入力をチェックするために 、familar_name の真実性をチェックすることができます。

name = input('enter your name')
if name:
    ...

上記の if ステートメントの本体は、文字列が空白でない場合に実行されます。しかし、ユーザーが空白を渡すと、これは失敗します。したがって、そのチェックの前に .strip() を使用する必要があるかもしれません。

また、.isalphaメソッド --> .isalpha()を呼び出すことを忘れないでください。