python循环总结

一、while循环

A、拼接字符串:1. +str()

2. %s占位符

3. 使用,

4. 使用{}补充,采用字符串中的format(),要用.fomat()

print("{} + {} = {}".format(num1,num2,num3))

B、打印1~100

n=1

while n<=100:

print(n)

n+=100

C、计算100以内所有奇数的和

sum = 0 # n = 1 # while n < 100: # # sum = sum + n # sum += n # # n = n + 2 # n += 2 # print(sum) n = 99 while n > 0: sum += n n -= 2 print(sum)

*

**

***

****

*****

******

layer = int(input("请输入你要打印的层数:")) index = 1 while index <= layer: #layer = 3 #打印每层的* j = 1 while j <= index: #index = 1 2 print("*",end="") j += 1 print() #换行 index += 1

D、打印九九乘法表

i = 1 while i <= 9: j = 1 while j <= i: res = i * j if res < 10: print("%s * %s = %s "%(j,i,(i*j)),end="") else: print("%s * %s = %s "%(j,i,(i*j)),end="") j += 1 print() #换行 i += 1

E、判断一个数是否为质数(素数) 质数:除了1和它本身之外不会被其他自然数整除的数 最小质数的是2 2,3,5,7,11,13,17.........

num = int(input("请输入一个数:")) if num <=1: print("这不是质数") elif num == 2: print("这是质数") else: i = 2 while i < num: if num % i == 0: print("这不是质数") break i += 1 else: print("这是质数")

F、实现两个数的交换(用户输入两个数,存储到两个变量中,交换变量存储的值)

num1 = int(input("请输入第一个数:")) num2 = int(input("请输入第二个数:"))

#方法一:使用中间变量 # temp = num1 # num1 = num2 # num2 = temp # print("交换后,num1 = %s num2 = %s"%(num1,num2)) #方法二:求和法 7.3.2 for循环 加强循环(foreach for in) for in ---- 遍历容器 ls = [1,2,3,4] for循环是用来遍历容器(迭代可迭代的对象) 比如说:打印1~100 引入了一个函数:range() range ---- 范围,区间 range(参数) ------- 表示的是从0开始到参数结束,不包含这个参数的,前闭后开的区间 range(参数1,参数2)----表示的是从参数1到参数2之间,不包含参数2,前闭后开的区间 # num1 = num1 + num2 # 70 = 20 + 50 # num2 = num1 - num2 # 20 =70 - 50 # num1 = num1 - num2 # 50 =70 - 20 # print("交换后,num1 = %s num2 = %s"%(num1,num2)) #方法三:异或交换法(python独有的)寄存器 num1,num2 = num2,num1 print("交换后,num1 = %s num2 = %s"%(num1,num2))

二、for循环

A、写法:for i in range(参数1,参数2,step)

B、

        *

       ***

      *****

     *******

      *****

       ***

        *

while layer % 2 == 0: layer = int(input("请输入正确的要打印的行数,注意是奇数行:"))

#上半部分 for i in range(1,layer // 2 + 2): #计算空格的个数 spce_num = layer - i for j in range(0,spce_num): print(" ",end="") #计算*个数 star_num = 2 * i - 1 for j in range(0,star_num): print("*",end="") print("")

#下半部分 for i in range(layer // 2 ,0,-1): # (3,0,-1) #计算空格的个数 spce_num = layer - i # for j in range(0,spce_num): print(" ",end="") #计算*个数 star_num = 2 * i - 1 for j in range(0,star_num): print("*",end="") print("")

C、

        *

       ***        

      * * *

    *******

      * * *

       ***

        *

layer = int(input("请输入你要打印的行数:")) while layer % 2 == 0: layer = int(input("请输入正确的要打印的行数,注意是奇数行:"))

#上半部分 for i in range(1,layer // 2 + 2): #计算空格的个数 spce_num = layer - i for j in range(0,spce_num): print(" ",end="") #计算*个数 star_num = 2 * i - 1 for j in range(0,star_num): #判断是不是第一个和最后一个 if j == 0 or j == star_num - 1 or i == layer // 2 + 1 or j == star_num//2: #j == star_num//2 判断的是中间那一列 print("*",end="") else: print(" ",end="") print("")

#下半部分 for i in range(layer // 2 ,0,-1): #计算空格的个数 spce_num = layer - i for j in range(0,spce_num): print(" ",end="") #计算*个数 star_num = 2 * i - 1 for j in range(0,star_num): #判断是不是第一个和最后一个 if j == 0 or j == star_num - 1 or j == star_num//2: print("*",end="") else: print(" ",end="") print("")

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值