如何限制用户只能输入 Python 中的字母?

How can you restrict user to only input alphabets in Python?

我是一个正在努力学习的初学者Python。第一题.

试图找到一种方法让用户只输入字母。 写了这个但是它不起作用! 它 returns True 然后在继续 else 子句之前跳过其余部分。 break 也不行。

有人能指出原因吗? 我认为它是非常基础的,但我被卡住了,如果有人能把我拉出来,我将不胜感激。

while True:
    n = input("write something")
    if print(n.isalpha()) == True:
        print(n)
        break
    else:
        print("Has to be in alphabets only.")

您的问题是 print 函数。 print 没有 return 任何东西,所以你的 if 语句总是比较 NoneTrue.

while True:
    n = input("write something")
    if n.isalpha():
        print(n)
        break
    else:
        print("Has to be in alphabets only.")

你的声明应该是if n.isalpha() == True:print 不会 return 任何东西,所以值为 None。然后,您将 NoneTrue

进行比较
while True:
    n = input("write something")
    if n.isalpha() == True:
        print(n)
        break
    else:
        print("Has to be in alphabets only.")

我已经修复了这个错误,下面是更新后的代码:

while True:
    n = input("write something: ")
    if n.isalpha() == True:
        print(n)
        break
    else:
        print("Has to be in alphabets only.")

不要使用print(n.isaplha()),它将始终为True。删除 print() 并仅使用 n.isalpha()
试试这个:-

while True:
    n = input("write something")
    if print(n.isalpha()) == True:
        print(n)
        break
    else:
        print("Has to be in alphabets only.")