python代码:编写一个可接受任意n个参数(参数为任意数据类型),判断并输出其中包含数字的参数
直接上代码
import re
def text(*acc):
for i in acc:
if type(i) == int or type(i) == float:
print(i)
elif type(i) == str:
if re.sub("\D", "", i) != "":
# 在个字符串中找到非数字的字符(正则表达式中'\D'表示非数字),
# 并用""(空)替换,然后返回的就是只剩下数字的字符串,若此时只剩空,那么就没有数字。
print(i)
elif type(i)==list or type(i)==dict or type(i)==set or type(i)==tuple:
for a in i:
if hit(a)==1:
print(i)
break#避免多次打印列表
def hit(n):
if type(n) == int or type(n) == float:
return 1
elif type(n) == str:
if re.sub("\D", "", n) != "":
# 在个字符串中找到非数字的字符(正则表达式中'\D'表示非数字),
# 并用""(空)替换,然后返回的就是只剩下数字的字符串,若此时只剩空,那么就没有数字。
return 1
else:
return 0
text(1,"huh","fjiis21",[1,2,"赵四"],{1,2,"dhu"},("w","dhui"),{"dhuh","d"},("d","di3"))
- 上例运行结果如下:
