0501.实现isNum()函数,参数为一个字符串,如果这个字符串属于整数、浮点数或复数的表示,则返回True,否则返回False。
#0501
def isNum(str1):
try:
a = eval(str1)
b = a/2#排除元组等类型
except:
return False
return True
str1 = input()
print(isNum(str1))
0502.实现isPrime()函数,参数为整数,要有异常处理。如果整数是质数,返回True,否则返回False。
#0502
def isPrime(n):
count = 0#计数因子个数
try:
a = eval(n)
c = bin(a)#排除复数/元组/浮点数等类型
except:
return '请输入整数!'
if a < 2:
return False
else:
for i in range(1,a+1):
if a%i == 0:
count += 1
if count == 2:
return True
else:
return False
while True:
n = input('请输入整数(按Q或q退出):')
if n == 'Q' or n == 'q':
break
print("是否是质数(True/False):{}".format(isPrime(n)))
0503.编写一个函数计算传入字符串中数字、字母、空格以及其他字符的个数。
#0503
def countNum(str1):
n1,n2,n3,n4 = 0,0,0,0
for c in str1:
#中文的汉字会被 isalpha 判定为 True,
#如果想区分中文和英文可以使用 unicode。中文的范围为:['/u4e00','/u9fa5']
if c.encode('UTF-8').isalpha():
n1 += 1
elif c.isdigit():
n2 += 1
elif c.isspace():
n3 += 1
else:
n4 += 1
print("字母数:{} 数字数:{} 空格数:{} 其他字符数:{}"\
.format(n1,n2,n3,n4))
str1 = input()
countNum(str1)
0504.编写一个函数,打印200以内的所有复数,以空格分割。
#0504
def allPrime(n):
if n < 2:
print(None)
else:
for i in range(2,n+1):
count = 0
for j in range(1,i+1):
if i%j == 0:
count += 1
if count == 2:
print(i,end=' ')
allPrime(200)
0505.编写一个函数,参数为一个整数n。利用递归获取斐波那契数列中的第n个数并返回。
#0505
def nFibonacci(n):
a,b = 0,1
count = 2
nl = [0,1]
while count < n:
a,b = b,a+b
nl.append(b)
count += 1
print(nl)
return nl[n-1]
n = eval(input("请输入整数n:"))
print("第{}个数为:{}".format(n,nFibonacci(n)))