python如何在循环中,每次循环都创建一个新的类?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何在循环中,每次循环都创建一个新的类?相关的知识,希望对你有一定的参考价值。

如图,我想在循环中的每次循环都创建一个新的Group类

参考技术A 在循环中每次循环都创建一个新的类目,这个就是一个专业的一个操作的办公软件,还有个操作流程了,这个你可以请高手来帮你一下。 参考技术B 如何在循环中确实每次循环建立一个新的类型,通过这种形式,那你必须得建一个新的类型,这样对你们以后的那种操作是有一定的帮助的。 参考技术C 构建类之列表。例如,
``` python
class Group(object):
[TAB]def __init__(self,name)
[TAB][TAB] self.name= name
stu_names =['s1','s2','s3']
stu = []
for name in enumerate(stu_names):
[TAB]stu.append(Group(name))
```
参考技术D 不同。循环的内容也是不一样的,看你究竟是怎么选择的 第5个回答  2020-10-25 晚上好
可以在前面自定义一个就可以了。

使用Python for循环,我怎样才能每次都从一个字符串中取出一个字母而没有任何重复

【中文标题】使用Python for循环,我怎样才能每次都从一个字符串中取出一个字母而没有任何重复【英文标题】:Using Pyhton for loop, how can I take a letter from a string every time without any repeatation 【发布时间】:2020-09-24 12:18:58 【问题描述】:

''' 创建一个字符串的随机字谜。 使用choice方法创建一个字符串的5个随机字谜。

预期结果:由 'CREATE' 的每个字符组成的字谜。

Output : 
Anagram# 1: taeecr 
Anagram# 2: aaaete 
Anagram# 3: acteet 
Anagram# 4: rcrcee
Anagram# 5: aeerca

'''

from random import choice
Orig = 'create'
OrigL = list(Orig)
AnagL = []
for a in range(5):
    AnagL = []
    for i in range(len(Orig)):

        p = choice(OrigL)
        AnagL.append(p)
    Anag = ''.join(AnagL)
    print('Orig#',a+1,Orig)
    print('Anag#',a+1,Anag,'\n')

【问题讨论】:

【参考方案1】:

尝试以下类似的方法,不带random.choice

    将字符串转换为list 随机播放列表 重新加入列表

这样:

from random import shuffle
word = list('create')

for i in range(5):
    shuffle(word)
    print("Anagram #: ".format(i+1, "".join(word)))

Anagram #1: aeetrc
Anagram #2: rcteea
Anagram #3: eertca
Anagram #4: tceear
Anagram #5: erecat

使用random.choice

    将原始字符串转换为list 使用random.choice 从列表中获取随机索引 弹出该索引并保存字符 重复步骤 2-3,直到列表为空 重复步骤 1-4,直到你有 5 个字谜

【讨论】:

问题的措辞明确要求使用choice 方法。 @AmitaIrron 这让我觉得这是为了做作业。我提供了一个替代解决方案,以及使用choice 实现的伪代码。 这是作业,OP的代码实际上几乎是正确的。唯一剩下要做的就是弹出选择的字母。此外,不需要将原始字符串转换为列表。 choice 将从字符串中选择一个字符,s.replace(c, "", 1) 可用于弹出。 @AmitaIrron 太棒了,考虑点击下面的“发布您的答案”按钮。 谢谢你,@AmitaIrron。我现在明白了。顺便说一句,它不适合做作业。我正在尝试从 Heinhold 的书中学习 pyhton。 :)【参考方案2】:
from random import choice



Orig = 'create'
OrigL = list(Orig)
AnagL = []

for a in range(5):
    AnagL = []
    notAnal=Orig
    for i in range(len(notAnal)):
        p = choice(notAnal)
        notAnal=notAnal.replace(p,'',1)
        AnagL.append(p)
    Anag = ''.join(AnagL)
    print('Orig#',a+1,Orig)
    print('Anag#',a+1,Anag,'\n')

【讨论】:

顺便说一句,你提到了 p = choice(notAnal) 但是选择只适用于列表。 此代码适用于 python 3.8。这是结果 25 - 4 30 - 2 31 - 3 33 - 1 38 - 0

以上是关于python如何在循环中,每次循环都创建一个新的类?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个循环来检查每次迭代时是不是有新的 IBAction 输入?

如何在 for 循环中创建多个复选框?

打印到文本文件[重复]

如何通过输入一个键来中断python中的循环但不停止循环以验证它是不是在每次执行时都输入?

我如何创建一个在此循环中不更新的变量?

在 innerHTML 中使用 for 循环