新手求助!一个关于类型判断的提问
本帖最后由 AresFC 于 2021-1-13 16:53 编辑新手求助!请问代码最后一行是什么意思?有更优化的写法吗?
要求:用户输入字符串,写函数用来计算传入字符串中【数字】、【字母】、【空格】以及【其他】的个数。
代码:s=input('请输入:')
def myfunc(s):
dic={'num':0,'alpha':0,'space':0,'other':0}
num=0
alpha=0
space=0
other=0
for i in s:
if i.isdigit():
dic['num']+=1
elif i.isalpha():
dic['alpha']+=1
elif i.isspace():
dic['space']+=1
else:
dic['other']+=1
return dic
print(myfunc('+0-0skahe817jashf wet1'))#这一行括号里面的是什么意思呀 本帖最后由 AresFC 于 2021-1-13 16:53 编辑
我尝试把最后一行换成print('字符串中有数字',dic.get['num'],'个,字母',dic.get['alpha'],'个,空格',dic.get['space'],'个,其他类型'+dic['other']+'个')
但是遇到了错误 请问如何才能调用函数里面定义的内容(比如本例的字典)? s=input('请输入:')
def myfunc(s):
dic={'num':0,'alpha':0,'space':0,'other':0}
num=0
alpha=0
space=0
other=0
for i in s:
if i.isdigit():
dic['num']+=1
elif i.isalpha():
dic['alpha']+=1
elif i.isspace():
dic['space']+=1
else:
dic['other']+=1
return dic
print(myfunc(s))
逃兵 发表于 2021-1-13 16:51
请问是什么意思?最后一行直接print(myfunc(s))就好了是吗 AresFC 发表于 2021-1-13 16:55
请问是什么意思?最后一行直接print(myfunc(s))就好了是吗
函数的返回值是一个字典
而函数的传入参数是一个字符串
传入字符串后,直接打印返回值即可 AresFC 发表于 2021-1-13 16:55
请问是什么意思?最后一行直接print(myfunc(s))就好了是吗
你提问的print(myfunc('+0-0skahe817jashf wet1'))#这一行括号里面的是什么意思呀
这个括号里就是一个字符串
代码的作用在于统计其中的各类字符数目
并打印出来 AresFC 发表于 2021-1-13 16:55
请问是什么意思?最后一行直接print(myfunc(s))就好了是吗
不是的,他给你的代码是通过键盘输入的字符串s
然后调用时用print直接把返回值打印出来了 昨非 发表于 2021-1-13 17:02
不是的,他给你的代码是通过键盘输入的字符串s
然后调用时用print直接把返回值打印出来了
明白了!多谢!! AresFC 发表于 2021-1-13 17:09
明白了!多谢!!
记得给个最佳哦
页:
[1]