gpt4 book ai didi

c++ - 用字典实现的 python 中的 "case sequence"

转载 作者:行者123 更新时间:2023-11-27 23:33:08 30 4
gpt4 key购买 nike

我实现了一个功能:

def postback(i,user,tval):    """functie ce posteaza raspunsul bazei de date;stringul din mesaj tb sa fie mai mic de 140 de caractere"""    result = {        1:api.PostDirectMessage(user,'Trebuie sa-mi spui si marca pe care o cauti'),        2:postmarket(user,tval),        3:api.PostDirectMessage(user,'Imi pare rau, dar nu stiu unde poti gasi aceste tipuri de smantana: %s' % tval)}    return result.get(i)

但它不能作为案例替代方案(来自 C++),无论我尝试什么,它都会执行所有 3 个案例...我是初学者,所以可能还有另一个错误,所以请帮忙!p.s.请不要告诉我 if...else.. 是唯一的选择,因为我知道这可以工作

最佳答案

如果您绝对必须使用字典,请使用函数字典:

result = {
1: lambda: api.PostDirectMessage(...),
2: lambda: postmarket(...),
...
}
return result[i]()

lambda 关键字定义了一个匿名内联函数,它们只在最后一行被调​​用。

关于c++ - 用字典实现的 python 中的 "case sequence",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3336385/

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