#修改文件函数
def func(filename, old,new):
with open (filename,encoding = 'utf-8') as f, open ('%s.bak'%filename, 'w', encoding = 'utf-8') as f2:
for line in f:
if old in line:
line = line.replace(old,new)
f2.write(line)
import os
os.remove(filename)
os.rename('%s.bak'%filename,filename)
################################################
def demo():
for i in range(4):
yield i
g = demo()
g1 = (i for i in g)
g2 = (i for i in g1)
print(list(g1)) #此时g1的数据已经给list
print(list(g2)) #生成器只能取值一次
##############################################
def add(n,i):
return n+i
def test():
for i in range(4):
yeild i
g = test()
for in in [1,10]
g = (add(n,i) for i in g)
print(list(g)) #此处才开始真正执行
# for循环带生成器表达式的,把for循环拆开更好理解
#########################################
已知x = 43,ch = 'A',y=1则表达式x>=y and ch<'b' and y 的值是 1
'abc'>'xyz' 字符串以首字母ascii码比较大小
元组不能比较大小
#########################################
1、2、3、4能组成多少互不相同且无重复的三位数,各是多少?
count = 0
def func():
for i in range(1,5)
for j in range(1,5)
for k in range(1,5)
if i == j or i == k or j == l
continue
count += 1
yield str(i) + str(j) + str(k)
g = func()
#########################################
#打印进度条
import time
for i in range(0,101,2):
time.sleep(0.2)
num = i//2
str = '\r%s%%:%s\n'%(i,'*'*num)if i ==100 else '\r%s%%:%s'%(i,'*'*num) #/r 回到行首
print(str, end='',flush=True)