2024-05-03 10:24:36 发布
网友
在python中是否可以执行以下操作?你知道吗
i=1 while True: w = open("POSCAR_i","w") i=i+1 if i<10: break
所以基本上,它应该通过POSCAR_10创建POSCAR_1。你知道吗
POSCAR_10
POSCAR_1
谢谢你。你知道吗
您可以使用str.format将i作为变量传入:
w = open("POSCAR_{}".format(i),"w")
如果你想要1-10,for循环也可以。你知道吗
for i in range(1,11): w = open("POSCAR_{}".format(i),"w")
但是w每次都会被重新分配。你知道吗
w
您需要使用if i==10,否则您的循环将直接结束,因为i最初是< 10
if i==10
i
< 10
可以使用i <=10作为条件并删除if语句:
i <=10
i=1 while i <= 10: with open("POSCAR_{}".format(i),"w") as w: # with will close your files automatically i+=1
问题是您的break语句是在第一次迭代时执行的。 i变量确实小于10,因此循环终止。你知道吗
break
你需要做的是:
i = 1 while True: w = open("POSCAR_%d" % i, "w") w.close() i += 1 if i == 10: break
完成文件对象后不要忘记关闭它(在本例中是立即关闭)。你知道吗
也可以将终止条件放入循环的定义中:
i = 1 while i <= 10: w = open("POSCAR_%d" % i, "w") w.close() i += 1
使用for循环更具python风格(而且更好):
for idx in range(1,11): f = open("POSCAR_%d" % idx, "w") f.close()
您还可以使用format()方法,这是现在官方首选的方法,尽管%运算符在野外仍然非常常见。你知道吗
您可以使用str.format将i作为变量传入:
如果你想要1-10,for循环也可以。你知道吗
但是
w
每次都会被重新分配。你知道吗您需要使用
if i==10
,否则您的循环将直接结束,因为i
最初是< 10
可以使用
i <=10
作为条件并删除if语句:问题是您的
break
语句是在第一次迭代时执行的。i
变量确实小于10,因此循环终止。你知道吗你需要做的是:
完成文件对象后不要忘记关闭它(在本例中是立即关闭)。你知道吗
也可以将终止条件放入循环的定义中:
使用for循环更具python风格(而且更好):
您还可以使用format()方法,这是现在官方首选的方法,尽管%运算符在野外仍然非常常见。你知道吗
相关问题 更多 >
编程相关推荐