#修改文件函数

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)