我写了一个函数,计算给定字符串中字母的出现次数。当使用字符串参数调用时,它是有效的,但我也希望在不使用argument的情况下处理它(返回一个空字典(。
from string import ascii_letters
def letter_frequency(word):
result = dict()
for letter in ascii_letters:
if word.count(letter) != 0:
result[letter] = word.count(letter)
return result
我试着用*args代替单词作为自变量,但后来它就像总是有一个空的自变量一样。
这应该有效,注意最后一行应该在循环之外:
def letter_frequency(word=""):
result = dict()
for letter in ascii_letters:
if word.count(letter) != 0:
result[letter] = word.count(letter)
return result
将参数设置为默认值以使其可选。如果用户为参数输入值,它将覆盖默认值。
def display(required_arg, optional_arg1 = "1"):
print(required_arg, optional_arg1)
display("a")
# OUTPUT
# a 1
display("a", "b")
# OUTPUT
# a b
你好,您可以使用
word=None
但要知道用户必须调用类似的函数
letter_frequency(word="Sample")
#and for without argument simply
letter_frequency()
知道你还必须检查单词是否为无
if word==None:
#do something