我的函数需要一个参数词,但我希望如果没有参数,程序不会崩溃。
def get_count(words):
try:
consonants_str = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ"
vowels_str = "aeiouAEIOU"
consonants_ls = []
vowels_ls = []
words_ls = []
result = {"vowels": 0, "consonants": 0}`
for element in consonants_str:
consonants_ls.append(element)
for element in vowels_str:
vowels_ls.append(element)
if type(words) != type(None):
for element in words:
words_ls.append(element)
for element in words_ls:
if element in vowels_ls:
result["vowels"] += 1
if element in consonants_ls:
result["consonants"] += 1
else:
continue
else:
result["vowels"] = 0
result["consonants"] = 0
except TypeError:
result["vowels"] = 0
result["consonants"] = 0
answer = {"vowels": result["vowels"],"consonants": result["consonants"]}
return answer`
所以如果我用
print(get_count())
我想,程序不会像标题中那样显示错误。异常应该在get_count
的def
中,因为它应该是一个关闭的文件。我不在同一个文件中执行,因此异常应该独立于其他文件。
我希望你明白我的意思。。。
谢谢你的回答! 诺亚布勒
您没有将参数传递给函数,当您声明要使用
def(words)
调用名为words
的参数时,请这样调用函数或使用您希望的任何字符串输入如果希望程序在未传递参数时退出,请执行此操作(记住单词现在是元组)
您可以使用可选参数
例如:
是具有可选参数
age
的函数。有效的信息调用是:
在您的情况下,您可以将函数更改为:
因此,如果不传递任何参数,则默认情况下,函数将
words
作为空的list
。奖金:
我发现了
你不需要这个。相反,您可以这样做:
Python之道:
使用
collections.Counter
:相关问题 更多 >
编程相关推荐