1. 计算1~100的累积和(包含1和100)
参考代码如下:
#encoding=utf-8 i = 1 sum = 0 while i <= 100: sum = sum + i i += 1 print("1~100的累积和为:%d" % sum)
或者
# 1. 计算1~100的累积和(包含1和100) # ret1 = 1 + 2 + 3 + 4 + ... + 100 # 定义一个变量 保存所有的1~100之间的数字 i = 1 # 定义一个变量 保存所有的数据 ret1 = 0 while i <= 100: ret1 += i # ret1 = ret1 + i i += 1 print("计算1~100的累积和:%d" % ret1)
2. 计算1~100之间偶数的累积和(包含1和100)
参考代码如下:
#encoding=utf-8 i = 1 sum = 0 while i <= 100: if i % 2 == 0: sum = sum + i i+=1 print("1~100的累积和为:%d" % sum)
或者
# 2. 计算1~100之间偶数的累积和(包含1和100) # 定义一个变量 保存所有的1~100数字 i = 1 # 定义变量 保存累计和 ret2 = 0 while i < 101: # 判断条件 判断这个i值是否是偶数 if i % 2 == 0: # 求和 ret2 += i i += 1 print("计算1~100之间偶数的累积和:%d" % ret2)
while循环嵌套
-
前面学习过if的嵌套了,想一想if嵌套是什么样子的?
-
类似if的嵌套,while嵌套就是:while里面还有while
<1>while嵌套的格式
while 条件1: 条件1满足时,做的事情1 条件1满足时,做的事情2 条件1满足时,做的事情3 ...(省略)... while 条件2: 条件2满足时,做的事情1 条件2满足时,做的事情2 条件2满足时,做的事情3 ...(省略)...
<2>while嵌套应用一
要求:打印如下图形:
* * * * * * * * * * * * * * *
参考代码:
i = 1 while i <= 5: j = 1 while j <= i: print("* ", end = '') j += 1 print(" ") i += 1
或者
""" * ** *** **** ***** """ # 请使用循环完成 # 定义一个变量 记录循环次数 # 控制行数 # i = 1 # while i <= 5: # print("*") # i += 1 # 控制列数 # j = 1 # while j <= 5: # print("*", end="") # j += 1 # 整合 # 控制行数 i = 1 while i <= 5: # 控制列数 j = 1 while j <= i: print("* ", end="") j += 1 # 在一行全部输出完成后 需要换行 print() i += 1 # print的用法 # print(xxx) == print("xxx", end=" ") # print("你好", end="") # print("世界")
使用for循环:
for i in range(1, 6): for j in range(1, i + 1): print("* ", end="") print()
例子:
# 外部循环1次 内部循环n次 """ 请在控制台输出 外部测试 内部测试 内部测试 内部测试 外部测试 内部测试 内部测试 内部测试 """ # 定义一个变量 记录循环次数 i = 0 while i < 2: print("外部测试") # 定义一个变量 记录循环次数 j = 0 while j < 3: print("内部测试") j += 1 i += 1 print("测试")
<3>while嵌套应用二:九九乘法表
参考代码:
i = 1 while i<=9: j=1 while j<=i: print("%d*%d=%-2d " % (j, i, i*j), end = '') j+=1 print(' ') i+=1
或者
# 控制行数 # 定义一个变量记录行数 # i = 1 # while i <= 9: # print(i) # i += 1 # 控制列数 # 定义一个变量记录列数 # j = 1 # while j <= 6: # print(j, end="") # j += 1 # %2d 代表给整数进行占位 # 如果是一位 会使用空格占位 # %2d 如果是一位 默认是 右对齐 # %-2d 如果是一位 默认是 左对齐 # 整合 # 行数 i = 1 while i <= 9: # 列数 j = 1 while j <= i: print("%d * %d = %-2d" % (j, i, 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 " % (j, i, i * j), end="") print()
例子:
# * # ** # *** # **** # ***** # 分析 i = 1 while i <= 5: # 每行打印空格数 k = 5 - i # 每行打印的星星数 x = i # 打印空格 while k >= 1: print(" ", end=" ") k -= 1 # 打印星星 while x >= 1: print("*", end=" ") x -= 1 # 打印完当前行,换行 print() i += 1