while循环应用
分析:1-100的累加和,即1 + 2 + 3 + 4 +….,即前两个数字的相加结果 + 下一个数字( 前一个数字 + 1)。
# 1~100 的累加和
i = 1
mySum = 0
while i <= 100:
# mySum = mySum + i
mySum += i
i += 1
print(mySum)
# 使用if
# 1~100 求所有能被3整除的数的和
i = 3
mySum = 0
while i <= 100:
if i%3 == 0:
print(f'i = {i}')
mySum += i
i += 1
print(mySum)
# while True:
# pass
注意:为了验证程序的准确性,可以先改小数值,验证结果正确后,再改成1-100做累加。
2. 计算1~100之间偶数的累积和(包含1和100)
分析:1-100的偶数和,即 2 + 4 + 6 + 8....,得到偶数的方法如下:
- 偶数即是和2取余结果为0的数字,可以加入条件语句判断是否为偶数,为偶数则累加
- 初始值为0 / 2 , 计数器每次累加2
参考代码如下:
方法一:条件判断和2取余数则累加
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum = sum + i
i+=1
print("1~100的累积和为:%d" % sum)
方法二:计数器控制
i = 0
result = 0
while i <= 100:
result += i
i += 2
# 输出2550
print(result)
终止循环的方式
- break 终止本层循环
- continue 结束本次循环,执行下一次循环
# 累加和达到1000时停止并输出结果
i = 1
mySum = 0
while i <= 100:
if mySum > 1000:
break
mySum += i
i += 1
print(mySum)
# 计算1~100所有奇数累加和
i = 1
mySum = 0
while i <= 100:
if i%2 == 0:
i += 1
continue
mySum += i
i += 1
print(mySum)
猜数字游戏
# 1到100之间猜数字游戏
from random import randint
# randint(a, b) 生成 [a, b]区间的随机整数
computer_num = randint(1, 100)
# print(computer_num)
while True:
player_num = int(input("请输入您猜的数字"))
if player_num > computer_num:
print("猜大了")
elif player_num < computer_num:
print("猜小了")
else:
print("恭喜你猜对了,去领取精美的奖品吧")
break
for循环
格式
for 临时变量 in 迭代对象:
循环体
# 0~9
for i in range(10):
print(i)
# range(开始, 结束, 步长) 左闭右开的区间
# 1 ~ 10
for i in range(1, 11):
print(i)
# 1~ 20之间所有奇数
for i in range(1, 21, 2):
print(i)
for 实现 1~100 的累加和
mySum = 0
for i in range(1, 101):
mySum += i
print(mySum)
小作业 :自行使用for完成改写上面所有while的示例
循环嵌套
格式
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
...(省略)...
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
条件2满足时,做的事情3
...(省略)...
嵌套应用
要求:打印如下图形:
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
i = 0
while i < 5:
j = 0
while j < 5:
print("* ", end='') # 不换行
j += 1
# 换行
print()
i+=1
*
* *
* * *
* * * *
* * * * *
i = 0
while i < 5:
j = 0
while j < i+1:
print("* ", end='')
j += 1
print()
i+=1
i = 1
while i < 10:
j = 1
while j < i+1:
print(f"{j} x {i} = {i*j} ", end='\t')
j += 1
print()
i+=1
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j} x {i} = {i*j} ", end='\t')
print()
列表介绍
想一想:
前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢?
定义100个变量,每个变量存放一个学生的姓名可行吗?有更好的办法吗?
答:
列表
列表的格式
列表名 = [元素1,, 元素2....]
heroList = ['小鲁班', '妲己', '貂蝉', 111, 99.1, [111, 222]]
print(heroList)
print(type(heroList))
# 访问 索引访问
print(heroList[0])
# 遍历
for i in range(6):
print((heroList[i]))
网友评论