python 之 while循环、break、continue的使用、循环当中else的用法、真/假值的表示——2022-4-19

python 之 while循环、break、continue的使用、循环当中else的用法、真/假值的表示——2022-4-19本文详细介绍了 Python 中的 while 循环 continue 和 break 的用法 通过实例展示了如何打印奇数 如何在循环中根据条件跳出循环 以及如何在循环中控制流程

大家好,欢迎来到IT知识分享网。

一、while循环用法

格式:

n=0  或 n=1    # 定义一个计数器

while   循环的条件:

        循环体内要执行的代码块

注:只要循环条件为真,则一直会执行循环体内的代码块。如果循环条件为假,则结束循环,不执行循环体内的代码块。

二、contiune和break的用法

continue:只要条件满足(或叫只要条件为真),就跳出这一次的循环,然后continue后面的循环代码块就自动忽略不再执行,直接进入下一次循环。———记忆:结束本次循环,开始下一轮循环。

break:只要条件满足,就结束循环,与此同时,break后面的循环代码块也将不再执行。———记忆:结束所有的循环。

举例1:打印10以内所有奇数。continue用法

# 法1 n = 0 while n < 10: n += 1 # 注意+1 的位置,如果放下面就会进入死循环 if n % 2 == 0: continue # continue的使用 print(n) 结果: 1 3 5 7 9 # 法2 不推荐,不智能 n = -1 while n < 9: n += 2 print(n) 结果: 1 3 5 7 9 

 延申:打印1-10以内的所有偶数

# 打印1-10以内的所有偶数 number = 1 while number < 10: if number % 2 == 0: print(number) number += 1 结果: 2 4 6 8

举例2: 依次输入2个整数,两个数比较大小,输出最大的,如果输入为空,则退出。break用法

while True: # while True,只要不中断,可以一直输,实现循环 number1 = input("请输入第一个数字:") number2 = input("请输入第二个数字:") # 判断输入的数字是否为空,如果空,则退出循环 if len(number1) == 0 or len(number2) == 0: print("您没有输入任何东西,请重新输入!") break else: if number1.isdigit() and number2.isdigit(): # 比较大小 if int(number1) > int(number2): # 输入的是字符串,需要转成数值型 print(f"{number1}和{number2}中最大的数是:{number1}") else: print(number2) else: print("您输入的不是数字,请重输!") 结果: 请输入第一个数字:5 请输入第二个数字:6 5和6中最大的数是:6 请输入第一个数字:a 请输入第二个数字:B 您输入的不是数字,请重输! 请输入第一个数字:1 请输入第二个数字: 您没有输入任何东西,请重新输入!

 怪象:print(f”{number1}和{number2}中最大的数是:{number1}”)中的字符串,时好时坏,有时能【输出数1和数2中最大的数是:】这几个字,有时不能。

# 改进 while 1: num1, num2 = input(), input() if len(num1) == 0 or len(num2) == 0: print(f"输入为空") break elif num1.isdigit() and num2.isdigit(): print(int(num1)) if num1 > num2 else print(num2) # 三目运算符 else: print(f"输入的不是数字") # 结果: 1 # 输入1 2 # 输入2 2 # 结果输出2 x # 输入x 1 # 输入1 输入的不是数字 2 # 输入2 # 不输 输入为空 进程已结束,退出代码 0

举例3:打印1-10,除了5之外的所有数字。continue用法

for i in range(1, 11): 因为打印的是1-10,所以,需要将range范围设定为1,11 if i == 5: continue print(i) 结果: 1 2 3 4 6 可以看到没5 7 8 9 10 

由此,可以明显的理解,continue的含义:结束本轮循环,开始下轮循环。

举例4:打印1-10的数字,如果这个数能被3整除,那么就不打印。break用法

for i in range(1, 10): if i % 3 == 0: break print(i) 结果: 1 2

由此,可以明显的理解,break的含义:结束整个循环。

 举例5:猜数字小游戏。谜底为20,猜对就退出循环,否则一直猜。

answer = 20 while True: number = int(input("请输入你的答案:")) if number == answer: print("恭喜你,回答正确!") break print("回答错误,请重输!") 结果: 请输入你的答案:35 回答错误,请重输! 请输入你的答案:2 回答错误,请重输! 请输入你的答案:20 恭喜你,回答正确! 

三、python当中的 真/假 值 的表示方法

真值的表示方法有:

(1)True

(2)除0以外的所有数字

(3)除了空对象以外的其它所有对象都可以表示为真值。(其它所有对象是指:数字、字符串、列表、元组、字典、集合)

举例:

if True: print("该句为真值") if 5: # 数字5 print("该句为真值") if "p": # 字符串p print("该句为真值") if "你好": # 字符串 你好 print("该句为真值") if ["p"]: # 列表 print("该句为真值") if (66): # 元组 print("该句为真值") if {"number:", 66}: # 字典 print("该句为真值") if {'apple', 2, 'banana'}: # 集合 print("该句为真值") 这些方式的结果都是: 该句为真值

同理,while也一样,但注意避免进入死循环。 

假值:False、0、空对象。 这个空对象中的“对象”就是指:字符串、列表、元组、集合字典。

举例:

if False: print("该句为假值") # 为 False if 0: print("该句为假值") # 为 0 if "": print("该句为假值") # 空字符串 if []: print("该句为假值") # 空列表 if (): print("该句为假值") # 空元组 if {}: print("该句为假值") # 空集合,字典 结果: 没有任何输出

举例6:利用while循环模拟登录操作,如果账号密码都正确,则登录成功,否则一直输入。

username = "user" # 定义正确的账号和密码 password = 123 while True: name = input("请输入账名(由小写字母构成):") psword = input("请输入密码(纯数字构成):") if name == username and int(psword) == password: # 注意 int的加入 print("恭喜你,登录成功!") break else: print("登录失败,请重输!") print() # 拉开间距,以便结果更清晰 结果: 请输入账名(由小写字母构成):fsd 请输入密码(纯数字构成):65 登录失败,请重输! 请输入账名(由小写字母构成):t 请输入密码(纯数字构成):345 登录失败,请重输! 请输入账名(由小写字母构成):user 请输入密码(纯数字构成):123 恭喜你,登录成功!

 小结:

(1)如果if name == username and int(psword) == password:这句中,psword不进行int的准换,那么,字符串跟数字是无法进行比较的,此时,尽管输入的是123,但因为input()函数的缘故,结果依然为【登录失败,请重输】。

(2)循环当中else的使用:

while后面的条件表达式为真,并且循环体内没有break,则会执行else后面的代码;

while后面的条件表达式为假,则直接忽略循环体内的代码块直接执行else后面的语句

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/119393.html

(0)
上一篇 2025-11-05 20:10
下一篇 2025-11-05 20:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信