TypeError:当我使用.join时,“类型”对象不是可迭代的python

Zenix

我的目标是在运行文件时在“ zerty.txt”文件中写入列表中带有多个参数的条目,因此我尝试了许多不成功的方法

我已经阅读了关于此错误消息的许多答案,它们都没有帮助我掌握我所缺少的内容。

imgur.com/Gq1HtXb note_code.py:

import etudiant as MP

liste = []

n = int(input("Nb de d'etudiant : "))

for i in range(0,n):
     a = MP.etudiant()
     a.saisie()
     liste.append(a)

print("les étudiants :")
for p in liste:
    print("-------")
    p.affichage()
    p.save()

http://imgur.com/VNHEX0I etudiant.py:

class etudiant:
    def __init__(self):
        self.nom = "vide"
        self.age = 0

    def saisie(self):
        self.nom = input("Nom : ")
        self.note = int(input("note : "))

    def affichage(self):
        print("Son nom est ", self.nom)
        print("sa note : ", self.note)

    def save(liste):
        with open('zerty.txt', mode='wt', encoding='utf-8') as myfile:
            myfile.write('\n'.join(liste))
            myfile.write('\n')
偶数

就像cricket_007所说的那样,您正在note_code.py中进行迭代liste,但是p在每个循环中得到的都是etudiant对象而不是列表。

我认为您想做的是:

学习者

class etudiant:
    def __init__(self):
        self.nom = "vide"
        self.age = 0

    def saisie(self):
        self.nom = input("Nom : ")
        self.note = int(input("note : "))

    def affichage(self):
        print("Son nom est ", self.nom)
        print("sa note : ", self.note)

    def save(self):
        with open('zerty.txt', mode='at', encoding='utf-8') as myfile:
            myfile.write('\n'.join([self.nom, self.note]))
            myfile.write('\n')

但是更好的是:

note_code.py:

import etudiant as MP

liste = []

n = int(input("Nombre d'étudiants : "))

liste = [MP.etudiant().saisie() for i in range(n)]

print("les étudiants :")
with open('zerty.txt', mode='wt', encoding='utf-8') as myfile:
    for p in liste:
        print("-------")
        p.affichage()
        p.save(myfile)

etudiant.py:

class etudiant:
    def __init__(self):
        self.nom = "vide"
        self.age = 0

    def saisie(self):
        self.nom = input("Nom : ")
        self.note = int(input("note : "))

    def affichage(self):
        print("Son nom est ", self.nom)
        print("sa note : ", self.note)

    def save(self, file_to_save):
        file_to_save.write('{}\n{}\n'.format(self.nom, self.note))

希望这对您有所帮助;-)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TypeError:“ WebElement”对象不是可迭代错误

当我使用HttpResponseRedirect时,出现TypeError:quote_from_bytes()Django中的预期字节

“可迭代”在Python中到底是什么意思?为什么我的实现__getitem __()的对象不是可迭代的?

当我使用tf.contrib.rnn.LayerNormBasicLSTMCell时,类型错误“张量”对象不可迭代

'int'对象不可迭代:当我尝试使用Python在Cassandra中插入数据时

TypeError:当我们使用(old ='XYZ',new ='ABC')时,replace()不接受关键字参数

当我使用从react-router-dom重定向时,出现TypeError:func.apply不是一个函数。我是新来的反应者

当我使用“ useCallback”时,出现TypeError错误

当我使用v-for对可迭代对象进行迭代时,vuejs崩溃

当我在VueJS中使用Typescript时出现TypeError

使用React-Context时对象不是可迭代的错误

TypeError:“ NoneType”对象不可调用:当我尝试使用openpyxl在Python中使用Excel文件时显示此错误

使用manytomanyfield时,“用户”对象不是可迭代错误django

当我使用fastapi和pydantic构建POST API时,出现TypeError:类型为JSON的对象无法序列化

当我使用线路分析器执行性能统计信息时,发生“ TypeError:'module'对象不可调用”

TypeError:当我使用asyncio loop时无法腌制协程对象。run_in_executor()

TypeError'NoneType'对象不是可迭代的OSQA

TypeError:“ int”对象不是可迭代的Python读取文件

python TypeError:str对象不是迭代器

当我尝试使用filter_by()时,烧瓶中返回“ TypeError:filter_by()”错误

MysqlDB调用TypeError:'int'对象不是可迭代的python

当我尝试访问嵌套的哈希数组时收到 (TypeError)

TypeError:'float'对象在python 3中不是可迭代的错误

[中的错误:当我使用 plotly 时,'closure' 类型的对象不是可子集的

JavaScript -TypeError 当我在命名对象数组和 get 和 set 方法中使用下划线时

“TypeError:'NoneType' 类型的参数不可迭代”当我尝试进行网络抓取时

即使我使用的是范围,浮动对象也不是可迭代的

当我使用颜色图创建节点着色的网络时,由于 float() 参数导致的 TypeError

TypeError:'int'对象不是可迭代的Python?