问题描述
我是一个试图学习 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
语句始终将 None
与 True
进行比较。
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
。然后,您将 None
与 True
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.")