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

问题描述

我是一个试图学习 Python 的初学者。第一个问题。

试图找到一种方法让用户只输入字母。 写了这个,但它不起作用! 它返回 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 不返回任何内容,因此您的 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 不会返回任何内容,因此值为 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.")

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...