gpt4 book ai didi

python - 找出拼字游戏的值(value)

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:30 24 4
gpt4 key购买 nike

我对任何高级语言都没有什么经验。小时候玩过basic和dos-batch。

我正在尝试找出拼字游戏中某个单词的分值。这种递归结构看起来缓慢且效率低下。在程序结构/概念方面解决此问题的更好方法是什么?

value_list = {'a': 1, 'b': 3, 'c': 3, 'd': 2, 'e': 1, 'f': 4, 'g': 2, 
'h': 4, 'i': 1, 'j': 8, 'k': 5, 'l': 1, 'm': 3, 'n': 1,
'o': 1, 'p': 3, 'q': 10, 'r': 1, 's': 1, 't': 1, 'u': 1,
'v': 4, 'w': 4, 'x': 8, 'y': 4, 'z': 10}

word_index = 0
total = 0

def find_value(word):
global word_index
global total
x = word[word_index]
total = total + value_list[x]
if len(word) > word_index + 1:
word_index = word_index + 1
find_value(word)

最佳答案

您将直接遍历 word 并使用 sum():

def find_value(word):
return sum(value_list[char] for char in word)

这里不用递归;以上也不需要全局变量。尽量避免全局状态,因为当您开始在多个位置使用函数时,这很容易导致难以调试的问题。

关于python - 找出拼字游戏的值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20223922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com