day 03-1 Python基础-while 循环

发布时间 2023-12-12 17:03:54作者: 琳仔的后花园

day 03 Python基础

1. while 循环

1.1 循环语句的基本使用

# 示例1 (死循环)
print ("开始")
while True:
    print ("123")
print ("567")

#输出:
开始
123
123
...
# 示例 2
print ("开始")
while 1>2 :
    print ("123")
print ("567")
#输出:
开始
123
# 示例3
data  =  True
print ("开始")
while data :
    print ("123")
print ("567")
#输出:
开始
123
123
...
# 示例 4
print ("开始")
flag = True
while flag :
    print ("123")
    flag = False
print ("567")
#输出:
开始
123
456

# 示例5
print ("开始")
num = 1
while num < 3 :
    print ("春眠不觉晓")
    num = 5
print ("结束")
#输出:
开始
春眠不觉晓
结束
# 示例5
print ("开始")
num = 1
while num < 3 :
    print ("知识就是力量")
    num = num + 1
print ("结束")

# 结果
开始
知识就是力量
知识就是力量
知识就是力量
知识就是力量
结束
# 练习题:重复三次输出“我爱我的祖国”
while num <= 3 :
    print ("我爱我的祖国")
    num = num + 1
# 结果
我爱我的祖国
我爱我的祖国
我爱我的祖国

1.2 综合小案例

请实现一个用户登录系统,如果密码错误则反复提示让用户重新输入,直到输入正确才停止。

#请实现一个用户登录系统,如果密码错误则反复提示让用户重新输入,直到输入正确才停止。
print ("欢迎登录琳仔的家园")
flag = True
while flag:
    name = input("请输入用户名:")
    password = input("请输入密码:")
    if name == "linzai" and password == "123567":
        print ("登录成功")
        flag = False
    else :
        print ("用户名或密码输入错误")
print ("系统结束")

练习题

1.补充代码实现
猜数字,设定一个理想数字比如:66,一直提示让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有输入等于66,显示猜测结果正确,然后退出循环。
2.使用循环输出1~100所有整数。
3.使用循环输出1234568910,即:10以内除7以外的整数。
4.输出1~100内的所有奇数。
5.输出1~100内的所有偶数。
6.求1~100的所有整数的和。
7.输出10~1所有整数。

#1.猜数字,设定一个理想数字比如:66,一直提示让用户输入数字, 如果比66大,则显示猜测的结果大了; 如果比66小,则显示猜测的结果小了;只有输入等于66,显示猜测结果正确,然后退出循环。
data = True
while data :
    num = int(input("请输入您选择的数字:"))
    if num < 66:
        print ("结果小了")
    elif num > 66:
        print ("结果大了")
    else :
        print ("结果正确")
        data = False
print ("游戏结束")
#2.使用循环输出1~100所有整数。
data = 1
while data:
   if data <= 100 :
       print (data)
       data = data +1

data = 1
while data <= 100 :
   print (data)
   data = data + 1

#3.使用循环输出1234568910,即:10以内除7以外的整数。
data = 1
while data <= 10 :
    if data == 7 :
        pass # pass是直接过的意思,什么都不输出
    else :
        print (data)
    data = data + 1
    
# 第2种办法
data = 1
while data <= 10 :
    if data != 7 : #!=意思是不等于
        print (data)
    data = data + 1

#4.输出1~100内的所有奇数。
data = 1
while data <= 100:
    if data % 2 == 1 :
        print (data)
    data = data + 1
#5.输出1~100内的所有偶数。
data = 1
while data <= 100:
    if data % 2 == 0 :
        print (data)
    data = data + 1
#6.求1~100的所有整数的和。
sum = 0
data = 1
while data <= 100 :
    sum = sum + data
    data = data + 1
print (sum) 

结果输出:5050
# 7.输出10~1所有整数。
data = 10
while data > 0:
    print(data)
    data = data - 1

思考题

# 求1~100的所有的整数这样的结果:1-2+3-4+5-6+7 ...-100=?
num = 1
total = 0
while num <= 100:
    if num % 2 == 1:
        total1 = total + num
        num = num + 1
    else:
        total2 = total - num
        num = num + 1
sum = total1 + total2
print (sum)

1.3 break

break, 用于在while循环中帮你终止循环。

# 示例1 break后面的内容不在输出
print ("开始")
while True:
    print ("往后我求财不求爱")
    break
    print ("如今我爱财爱己")
    print ("过得风声水起")
print ("再也不吃你画的大饼")
# 示例2. 输出1-100 
print ("开始")
i = 1
while True:
    print (i)
    i = i + 1
    if i == 101 :
        break
print ("结束")

结果:
开始
1
2
..
100
结束
# 示例3
print ("系统开始")
while True:
    user = input("请输入用户名:")
    password = input("请输入密码:")
    if user == "linzai" and password == "123567" :
        print ("登录成功")
        break
    else:
        print ("用户名或密码输入错误,请重新输入")

以后写代码时候,想要结束循环可以通过两种方式实现了,即:条件判断和break关键字,两种在使用时无好坏之分,只要能实现功能就行。

1.4 continue

continue, 在循环中用于结束本次循环,开始下一次循环。

print ("开始")
while True:
    print (1)
    continue #在循环中用于结束本次循环,开始下一次循环
    print (2)
    print (3)
    print (4)
print ("结束")
结果输出:
开始
1
1
...
# 示例1 
print ("开始")
while True:
    print ("往后我求财不求爱")
    continue
    print ("如今我爱财爱己")
    print ("过得风声水起")
print ("再也不吃你画的大饼")

结果输出:
开始
往后我求财不求爱
往后我求财不求爱
往后我求财不求爱
...
# 示例2
i = 1
while i<=10 :
    if i == 7 :
        i = i + 1
        continue
    print (i)
    i = i + 1
print("结束")
# 结果输出
1
2
3
4
5
6
8
9
10
结束
# 示例3
i = 1
while True:
    if i == 7 :
        i = i + 1
        continue
    print (i)
    i = i + 1
    if i == 15 :
        break
print("结束")

# 结果输出
1
2
3
4
5
6
8
9
10
11
12
13
14
结束

写在最后,对于break和continue都是放在循环语句中用于控制循环过程的,一旦遇到break就停止所有循环,一旦遇到continue就停止本次循环,开始下次循环。
当然,通过如果没有了breaki和continue,我们用while:条件的判断以及其他协助也能完成很多功能,有了break和continue可以在一定程度上简化我们的代码逻辑。

1.5 while else

当while/后的条件不成立时,else中的代码就会执行。

while 条件:
   代码
else: #当while/后的条件不成立时,else中的代码就会执行。
  代码

while False:
    pass
else :
    print (456)
# 结果输出456
num = 1
while num < 5:
    print (num)
    num = num + 1
else :
    print (666)
    
# 结果输出:
1
2
3
4
666
while True:
    print (123)
    break # break终止循环
else :
    print (456)
# 结果输出123