Python 我如何禁止数字作为输入?
好的,我定义了一个函数,用户可以在其中输入自己的名字。我想这样做,用户不允许输入像“69”这样的数字作为他/她的名字。我该怎么做呢?以下是我使用的代码:Python 我如何禁止数字作为输入?,python,Python,好的,我定义了一个函数,用户可以在其中输入自己的名字。我想这样做,用户不允许输入像“69”这样的数字作为他/她的名字。我该怎么做呢?以下是我使用的代码: def name(): while True: name = input("What is your name? ")) try: return str(name) break except TypeError: pr
def name():
while True:
name = input("What is your name? "))
try:
return str(name)
break
except TypeError:
print("Make sure to enter your actual name.")
您可以使用方法检查字符串是否仅包含数字:
name = input("What is your name? ")
while name.isdigit():
print("Make sure to enter your actual name.")
name = input("What is your name? ")
请注意,这将允许使用诸如-“Rohit1234”
之类的名称。如果您只想允许使用字母字符,则可以改用方法。您可以使用方法检查字符串是否仅包含数字:
name = input("What is your name? ")
while name.isdigit():
print("Make sure to enter your actual name.")
name = input("What is your name? ")
请注意,这将允许使用诸如-“Rohit1234”
之类的名称。如果您只想允许使用字母字符,则可以改用方法。您可以使用来检查名称:
如果字符串中的所有字符都是字母,并且有
至少有一个字符,否则为false
以下是经过修改的代码:
while True:
name = input("What is your name? ")
if name.isalpha():
break
else:
print("Make sure to enter your actual name.")
continue
或:
您可以使用检查名称:
如果字符串中的所有字符都是字母,并且有
至少有一个字符,否则为false
以下是经过修改的代码:
while True:
name = input("What is your name? ")
if name.isalpha():
break
else:
print("Make sure to enter your actual name.")
continue
或:
颠倒你的逻辑:
while True:
name = ...
try:
int(name)
print "Name can't be a number."
except TypeError:
return str(name)
请注意,这将接受任何无效整数的输入,包括123abc
等等。反转逻辑:
while True:
name = ...
try:
int(name)
print "Name can't be a number."
except TypeError:
return str(name)
请注意,这将接受任何无效整数的输入,包括
123abc
等等。您在输入上有一个额外的括号(“您的名字是什么?”)
关于“100Adam13”
,这是有效的吗?另外,这可能是相关的:(比如,第15点。)您在输入上有一个额外的括号(“您的名字是什么?”))
关于“100Adam13”
,这是否有效?此外,这可能是相关的:(比如,第15点。)您唯一忘记输入的是返回名称
@Suds2。当然但我甚至没有在那里写函数。我刚刚对while循环给出了一个想法。:)@泡沫2。因此,您可以调整函数以添加该循环,并根据需要返回名称
。不客气:)您唯一忘记输入的是返回名称@Suds2。当然但我甚至没有在那里写函数。我刚刚对while循环给出了一个想法。:)@泡沫2。因此,您可以调整函数以添加该循环,并根据需要返回名称
。不客气:)