python判断输入是否为字母,Python如何检查输入是字母还是字符

How can I check if input is a letter or character in Python?

Input should be amount of numbers user wants to check.

Then program should check if input given by user belongs to tribonacci sequence (0,1,2 are given in task) and in case user enter something different than integer, program should continue to run.

n = int(input("How many numbers do you want to check:"))

x = 0

def tribonnaci(n):

sequence = (0, 1, 2, 3)

a, b, c, d = sequence

while n > d:

d = a + b + c

a = b

b = c

c = d

return d

while x < n:

num = input("Number to check:")

if num == "":

print("FAIL. Give number:")

elif int(num) <= -1:

print(num+"\tFAIL. Number is minus")

elif int(num) == 0:

print(num+"\tYES")

elif int(num) == 1:

print(num+"\tYES")

elif int(num) == 2:

print(num+"\tYES")

else:

if tribonnaci(int(num)) == int(num):

print(num+"\tYES")

else:

print(num+"\tNO")

x = x + 1

解决方案

You can use num.isnumeric() function that will return You "True" if input is number and "False" if input is not number.

>>> x = raw_input()

12345

>>> x.isdigit()

True

You can also use try/catch:

try:

val = int(num)

except ValueError:

print("Not an int!")