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