老师,我这个为啥每次写入的yaml文件,的k值都是1了,我加了一个循环了。老师请教一下
import random
import os
import yaml
class email:
def email_mvp(self):
reuset=random.randint(100000,999999)
reuslt='@qq.com'
v_email=str(reuset)+reuslt
# print(v_email)
k_email=self.fenlei()
# print(k_email)
resuslts={
k_email:v_email
}
print(resuslts)
return resuslts
def fenlei(self):
with open("email.yaml",'r') as f:
data=f.read()
reuslt=yaml.load(data,Loader=yaml.FullLoader)
print(reuslt,'+++++')
li=len(reuslt)
print(type(li))
for i in range(li):
y=i+1
print(y,'=======')
return y
def mingcheng(self):
with open("email.yaml",'a',encoding='utf-8') as f:
yaml.dump(self.email_mvp(),f)
if __name__=='__main__':
Em=email()
#for i in range(1):
Em.mingcheng()
18
收起
正在回答
1回答
同学,你好!
因为以上代码的循环只是循环了range(li)次,临时变量i从0开始累加每次加1,如range(li=5)循环了5次,则i=4,y=4+1,返回的y值依然是5次,不会增加
修改方法:直接对变量li进行加1,返回li,如下图:
祝学习愉快!
Python全栈工程师2020
- 参与学习 人
- 提交作业 5211 份
- 解答问题 2433 个
Facebook曾声称“只招全栈工程师”!全栈用人需求猛增,市面人才紧缺。 0基础进击Python全栈开发,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星