我写了这个函数来检查一个单词是否是 abecedarian ,但我似乎无法使用字符串作为参数。我不知道这个,因为我从来没有使用字符串参数。有办法解决这个问题吗?
def is_abecedarian(word):
prev_char_ord = 0
for char in word.lower():
if prev_char_ord <= ord(char):
prev_char_ord = ord(char)
else:
return False
return True
答案 0 :(得分:1)
您可以根据排序后的单词检查原始单词
def is_abecedarian(word):
return word == ''.join(sorted(word))
测试
>>> is_abecedarian('test')
False
>>> is_abecedarian('abcde')
True
答案 1 :(得分:0)
如果您在函数开头将prev_char_ord
设置为0,则无论字符串以什么字符开头,它都会高于prev_char_ord
。
将prev_char_ord设置为255(因为ord仅适用于ascii字符),或者使用字符串的第一个字母来设置值(可以像数组一样访问,因此小写的第一个字符为{{1 }})。