Python从OrderedDict类更新随机字段选择函数

用户1473508

我试图做一个选择字符串并更新当前字段的脚本,但是由于某种原因changerandom,在Greeting类中调用函数时代码不会更新最后一个值

...[snip]...
class Greeting(Packet):
    fields = OrderedDict([
         ("Morning",     "Hi"),
         ("Afternoon",   "Good Afternoon!"),
         ("Evening",     "Good Evening!"),
    ])

    def change(self):
        self.fields["Morning"] = "Good morning!"

    def changerandom(self, n = 1): 
        function=[
                    {self.fields["Morning"]: "Hello!"},
                    {self.fields["Morning"]: "Bonjorno!"},
                    {self.fields["Morning"]: "Hola!"},
                 ]
        result = {}
        for i in range(n):
            result.update(choice(function))
            print "Updated string:",result
            return result
text = Greeting()
print text
text.change()
print text
text.changerandom()
print text

我的代码返回以下内容:

Hi
Good morning!
Updated string: {'Good morning!': 'Hola!'}
Good morning!

虽然应该返回:

Hi
Good morning!
Hola!

我不确定我在这里缺少什么,我不明白为什么我不能更新最后一个字段。任何帮助将不胜感激!

路易富

问题在于您要查询return结果,而没有将其分配到任何地方。

您还可以使用fields,而不是重点因此,您的代码应类似于

def changerandom(self, n = 1): 
        function=[
                    {"Morning": "Hello!"},
                    {"Morning": "Bonjorno!"},
                    {"Morning": "Hola!"},
                 ]

        for i in range(n):
            result = choice(function)
            self.fields.update(result)
            print "Updated string:",result
            return result

请注意,我们正在使用self.fields.update,并且不再需要return任何内容。

通常,对于您的函数和方法来说,返回某项或更改某项是一种很好的做法,但绝不能两者都做。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在python中的函数中随机选择函数

来自分类Dev

PHP驱动的选择函数

来自分类Dev

如何选择函数名称?

来自分类Dev

C# EF Lambda 选择函数

来自分类Dev

caret包中的特征选择函数

来自分类Dev

选择函数索引或新列索引

来自分类Dev

AngularJS UI选择下拉列表选择函数调用问题

来自分类Dev

BeautifulSoup选择函数在Python3.5.2和Python3.4.2之间的工作方式有所不同

来自分类Dev

选择类对象字段的构造函数

来自分类Dev

选择类对象字段的构造函数

来自分类Dev

如何基于循环迭代器选择函数

来自分类Dev

在选择函数之外使用starts_with()定义向量

来自分类Dev

在单个SQLAlchemy查询中选择函数和表列

来自分类Dev

选择函数子集作为字符串并求值

来自分类Dev

带有联接的Oracle SQL查询嵌套选择函数

来自分类Dev

特征值:复数矩阵上的选择函数

来自分类Dev

散列选择函数在 jQuery 中抛出错误

来自分类Dev

如何让选择函数在while循环下返回不同的结果

来自分类Dev

Python递归函数不会返回随机选择

来自分类Dev

随机函数选择

来自分类Dev

在Python中从数据库中选择随机字段

来自分类Dev

从python中的dict更新数据类字段

来自分类Dev

使用SFINAE根据是否存在函数的特定重载来选择函数

来自分类Dev

Python 3:选择从函数返回的类的名称

来自分类Dev

当compilier选择函数的重载版本时,“ string_literal”解析为bool而不是std :: string

来自分类Dev

如何基于constexpr结果在编译时选择函数

来自分类Dev

如何强制C ++从全局名称空间中选择函数?

来自分类Dev

如何基于constexpr结果在编译时选择函数

来自分类Dev

Javascript:如何通过其参数选择函数的内部属性

Related 相关文章

热门标签

归档