我是一个试图学习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.")