全新Python学习day03

2021-08-15  本文已影响0人  __method__

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取余数则累加

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)

终止循环的方式

# 累加和达到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]))
上一篇 下一篇

猜你喜欢

热点阅读