7.12_python_lx_practise

# ### 单项循环的练习
# 1.打印一行十个小星星 help函数查看帮助文档

i = 0
while i<10:
  print("☆",end="")
  i+=1 
for i in range(10):
  print("☆",end="")

# 2.通过打印变量实现一行十个小星星

strvar = ("")
i = 0
while i<10:
  strvar+="☆"
  i+=1
print(strvar)

# 3.打印一行十个小星星,奇数个位★,偶数个位☆

i = 0
while i<10:
  if i%2==1:
    print("★",end="")
  if i%2==0:
    print("☆",end="")
  i+=1

# 4.一个循环打印十行十列的小星星

for i in range(100):
  print("☆",end="")
  if i %10==9:
    print()

# 5.一个循环打印十行十列隔列换色的小星星

for i in range(100):
  if i %2==0:
    print("★",end="")
  elif i %2==1:
    print("☆",end="")   if i %10==9:     print()

# 6.一个循环打印十行十列隔行换色的小星星

for i in range(100):
  if i //10%2 ==0:
    print("★",end="")
  else:
    print("☆",end="")
  if i %10==9:
    print()

## 双向循环的经典练习
# 1.打印十行十列小星星(2个循环)

while循环

i = 0
while i<10:
  j = 0
  while j<10:
    print("★",end="")
    j+=1
  print()	
  i+=1

for循环

for i in range(10):
  for j in range (10):
    print("☆",end="")
  print()

# 2.打印十行十列小星星(搁列换色小星星)

while循环

i = 0
while i<10:
  j = 0
  while j<10:
    if j%2==0:
      print("☆",end="")
    else:
      print("★",end="")
    j+=1	
  print()
  i+=1

for循环

for i in range(10):
  for j in range(10):
    if j%2==0:
      print("☆",end="")
    else:
      print("★",end="")
  print()

# 3.打印十行十列小星星(搁行换色小星星)

while循环

i=0
while i<10:
  j = 0
  while j<10:     if i%2==0:       print("☆",end="")     else:       print("★",end="")     j+=1   print()   i+=1

for循环

for i in range(10):
  for j in range(10):
    if i%2 == 0:
      print("☆",end="")
    else:
      print("★",end="")
  print()

# 4.99乘法表

#方法一

while循环

i = 1
while i<=9:
  j=1
  while j<=i:
    print("%d*%d=%2d"%(i,j,i*j),"",end="")
    j+=1   print()   i+=1

for循环

for i in range(1,10):
	for j in range (1,i+1):
		print("%d*%d=%2d"%(i,j,i*j),"",end="")
	print()

# 方法二

while循环

i = 9
while i>0:
	j = 1
	while j<=i:
		print("%d*%d=%2d"%(i,j,i*j),"",end="")
		j+=1
	print()	
	i-=1

for循环

for i in range(9,0,-1):
	for j in range (1,i+1):
		print("%d*%d=%2d"%(i,j,i*j),"",end="")
	print()

# 方法三

while循环

i = 1
while i<=9:
    k=9-i
    while k>0:
        print("       ",end="")
        k-=1
    j=1
    while j<=i:
        print("%d*%d=%2d"%(i,j,i*j),"",end="")
        j+=1
    print()
    i+=1

 

for循环

for i in range(1,10):
    for k in range(1,10-i):
        print("       ",end="")
    for j in range(1,i+1):
            print("%d*%d=%2d"%(i,j,i*j),"",end="")

# 方法四

while循环

i = 9
while i >0:
    k = 9-i
    while k >0:
        print("       ",end="")
        k-=1
    j = 1
    while j<=i:
        print("%d*%d=%2d"%(i,j,i*j),"",end="")
        j+=1
    print()
    i-=1

for循环

for i in range(9,0,-1):
    for k in range (1,10-i):
        print("       ",end="")
    for j in range(1,i+1):
        print("%d*%d=%2d"%(i,j,i*j),"",end="")
    print()

#5.吉利数字 100~999
# 方法一

while循环

i = 100
while i<1000:
    gewei = i%10
    shiwei = i // 10 %10
    baiwei = i // 100
    if gewei == shiwei and shiwei == baiwei:
        print(i)
    elif shiwei == gewei-1 and shiwei == baiwei + 1:
        print(i)
    elif shiwei == gewei+1 and shiwei == baiwei - 1:
        print(i)
    i+=1

for循环

for i in range(100,1000):
    gewei = i % 10
    shiwei = i // 10 % 10
    baiwei = i //100
    if shiwei == gewei+1 and shiwei == baiwei - 1:
        print(i)
    elif shiwei == baiwei ==gewei:
        print(i)
    elif shiwei == gewei-1 and shiwei == baiwei +1:
        print(i)

# 方法二

while循环

i = 100
while i<1000:
    strvar = str(i)
    baiwei = int(strvar[0])
    shiwei = int(strvar[1])
    gewei = int(strvar[2])
    if gewei == shiwei and shiwei == baiwei:
        print(i)
    elif shiwei == gewei-1 and shiwei == baiwei + 1:
        print(i)
    elif shiwei == gewei+1 and shiwei == baiwei - 1:
        print(i)
    i+=1

for循环

for i in range(100,1000):
    strvar = str(i)
    baiwei = int(strvar[0])
    shiwei = int(strvar[1])
    gewei = int(strvar[2])
    if gewei == shiwei and shiwei == baiwei:
        print(i)
    elif shiwei == gewei-1 and shiwei == baiwei + 1:
        print(i)
    elif shiwei == gewei+1 and shiwei == baiwei - 1:
        print(i)
    i+=1

#6.百钱买百鸡
公1元1只 母3元1只 小5毛一只
100元买100只鸡有多少种买法?
while循环

gongji = 0
num = 0
while gongji <=100:
    muji = 0
    while muji <=33:
        xiaoji = 0
        while xiaoji<=100:
            if gongji+xiaoji+muji==100 and gongji*1+xiaoji*0.5+muji*3==100:
                num+=1
                print(gongji,xiaoji,muji)
            xiaoji+=1
        muji+=1
    gongji+=1
print(num)

for循环

num = 0
for gongji in range(101):
    for muji in range(34):
        for xiaoji in range(100):
            if gongji + muji +xiaoji==100 and gongji*1+muji*3+xiaoji*0.5==100:
                num+=1
                print(gongji,muji,xiaoji)
print(num)

#7.(升级题)打印菱形小星星

     *
    ***
   *****
  *******
 *********
***********
***********
 *********
  *******
   *****
    ***
     *
while循环

i = 1
while i <=6:
    k = 6-i
    while k>0:
        print(" ",end="")
        k-=1
    j = 2*i-1
    while j>0:
        print("*",end="")
        j-=1
    print()
    i+=1
i = 6
while i >0:
    k = 6-i
    while k>0:
        print(" ",end="")
        k-=1
    j=2*i-1
    while j>0:
        print("*",end="")
        j-=1
    print()
    i-=1

for循环

for i in range(1,7):
    for k in range(1,7-i):
        print(" ",end="")
    for j in range(1,2*i):
        print("*",end="")
    print()    
for i in range (6,0,-1):
    for k in range(0,6-i):
        print(" ",end="")
    for j in range(1,2*i):
        print("*",end="")
    print()
原文地址:https://www.cnblogs.com/Magicianlx/p/13289170.html