python基础(循环语句 while循环、break、continue,字符格式化,运算符)

1. while循环

【1】语法:

while 条件:
    ...
    ...
    ...

举例:

print("123")
while 条件:
  ...
  ...
  ...
print(456)

【2】循环语句的基本使用

示例1:

print("开始")
while True:
    print("hello world")
print("结束")

# 输出:
开始
hello world
hello world
hello world
hello world
...

示例2:

print("开始")
while 1 > 2:
	print("如果祖国遭受到侵犯,热血男儿当自强。")
print("结束")

# 输出:
开始
结束

示例3:

data = True
print("开始")
while data:
	print("如果祖国遭受到侵犯,热血男儿当自强。")
print("结束")

# 输出:
开始
如果祖国遭受到侵犯,热血男儿当自强。
如果祖国遭受到侵犯,热血男儿当自强。
如果祖国遭受到侵犯,热血男儿当自强。
...

示例4:

print("开始")
flag = True
while flag:
	print("滚滚黄河,滔滔长江。")
	flag = False
print("结束")

# 输出:
开始
滚滚黄河,滔滔长江。
结束

示例5:

print("开始")
num = 1
while num < 3:
	print("滚滚黄河,滔滔长江。")
	num = 5
print("结束")

# 输出:
开始
滚滚黄河,滔滔长江。
结束

示例6:

print("开始")
num = 1
while num < 5:
	print("给我生命,给我力量。")
	num = num + 1
print("结束")

# 输出:
开始
给我生命,给我力量。
给我生命,给我力量。
给我生命,给我力量。
给我生命,给我力量。
结束

【3】案例

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

print("开始运行路飞系统")

flag = True
while flag:
    user = input("请输入用户名:")
    pwd = input("请输入密码:")
    if user == "xuyi" and pwd == "123":
        print("登录成功")
        flag = False
    else:
        print("用户名或密码错误")

print("系统结束")

猜数字,设定一个理想数字比如:66,一直提示让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有输入等于66,显示猜测结果正确,然后退出循环。

lag = True
while flag:
    num = input("请输入数字:")
    num = int(num)
    if num > 66:
        print("大")
    elif num < 66:
        print("小")
    else:
        print("猜测结果正确")
        flag = False

使用循环属于1-100以内的所有整数

num = 1
while num < 101:
    print(num)
    num = num + 1

使用循环输出1-10的整数,单不输出7

方法1:
num = 1
while num < 11:
    if num == 7:
        pass           表示什么都不输出,或者使用不等于号 !=
    else:
        print(num)
    num = num + 1
   
方法二:
num = 1
while num < 11:
    if num != 7:
        print(num)
    num = num + 1

1-100以内的奇数

num = 1
while num < 101:
    if num % 2 == 1:
        print(num)
    num = num + 1

1-100所有整数的和

total = 0
num = 1
while num < 101:
    total = total + num
    num = num + 1
print(total)

输出10-1的整数

num = 10
while num > 0:
    print(num)
    num = num - 1

【4】break

用于在while循环中终止循环

print("开始")
while True:
	print("1")
  break
	print("2")
print("结束")

# 输出
开始
1
结束

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

【5】 continue

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

print("开始")
while True:
	print("红旗飘飘,军号响。")
	continue
	print("剑已出鞘,雷鸣电闪。")
	print("从来都是狭路相逢勇者胜。")
print("结束")

# 输出
开始
红旗飘飘,军号响。
红旗飘飘,军号响。
红旗飘飘,军号响。
红旗飘飘,军号响。
...

对于break和continue都是放在循环语句中用于控制循环过程的,一旦遇到break就停止所有循环,一旦遇到continue就停止本次循环,开始下次循环。

当然,通过如果没有了break和continue,我们用while条件的判断以及其他协助也能完成很多功能,有了break和continue可以在一定程度上简化我们的代码逻辑。

【6】while else 语法

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

while 条件:
  代码
else:
  代码

举例:

num = 1
while num < 5:
  print(num)
  num = num + 1
else:
  print(666)

# 输出 
1
2
3
4
666
while True:
  print(123)
	break      brink可终止else中的代码
else:
  print(666)

# 输出
123

2.字符串格式化

字符串格式化,使用跟便捷的形式实现字符串的拼接。

【1】%

  • 基本格式化操作
    %s:可为字符串占位
    %d:为整形占位
text = "我叫%s,今年%d岁" %(name,age)
  • 百分比
    一旦字符串格式化中存现百分比的显示,请一定要呀加 %% 以实现输出 %。

【2】format(推荐使用)

text = "我叫{0},今年18岁".format("张三")

text = "我叫{0},今年{1}岁".format("张三",18)

text = "我叫{0},今年{1}岁,真是的姓名是{0}。".format("张三",18)


text = "我叫{},今年18岁".format("张三")

text = "我叫{},今年{}岁".format("张三",18)

text = "我叫{},今年{}岁,真是的姓名是{}。".format("张三",18,"张三")
text = "我叫{n1},今年18岁".format(n1="张三")

text = "我叫{n1},今年{age}岁".format(n1="张三",age=18)

text = "我叫{n1},今年{age}岁,真是的姓名是{n1}。".format(n1="张三",age=18)
text = "我叫{0},今年{1}岁"
data1 = text.format("张三",666)
data2 = text.format("李四",73)

【3】f

python 3.6之后的版本

text = f"张三喜欢{
      
      '跑步'},跑完之后满身大汗"
action = "跑步"
text = f"张三喜欢{
      
      action},跑完之后满身大汗"

3. 运算符

提到运算符,我想大家首先想到的就是加、减、乘、除之类, 本节要系统的跟大家来聊一聊,我们写代码时常见的运算符可以分为5种:

【1】运算符举例

  • 算数运算符,例如:加减乘除
    在这里插入图片描述
print( 9//2 )
  • 比较运算符,例如:大于、小于
    在这里插入图片描述
    注意:python3中不支持 <>
if 1 >2:
  pass
while 1>2:
  pass

data = 1 == 2
  • 赋值运算,例如:变量赋值
    在这里插入图片描述
num = 1
while num < 100:
  print(num)
  # num = num + 1
  num += 1
  • 成员运算,例如:是否包含
    在这里插入图片描述
v1 = "le" in "llee"  # True/False
  • 逻辑运算,例如:且或非
    在这里插入图片描述
if username == "张三" and pwd == "123":
  pass

data = 1 > 2
if not data:
  pass

【2】运算符:优先级

运算符的优先级有很多,常见的没几个,推荐你记住3个即可:

  • 算数优先级优先级 大于 比较运算符
  if 2 + 10 > 11:
  	print("真")
  else:
  	print("假")
  • 比较运算符优先级 大于 逻辑运算符
  if 1>2 and 2<10:
  	print("成立")
  else:
  	print("不成立")
  • 逻辑运算符内部三个优先级 not > and > or
  if not 1 and 1>2 or 3 == 8:
  	print("真")
  else:
  	print("假")

上述这3个优先级从高到低总结:加减乘除 > 比较 > not and or 。若是不确定可加括号。

【3】运算符:面试题相关知识

逻辑运算中:and or

v1 = name == "张三" and pwd == "123"
# v1 = True and False
v2 = "张三" and "李四"

# 第一步:将and前后的只转换为布尔值 True and True
# 第二步:判断本次操作取决于谁?由于前面的是True,所以本次逻辑判断取决于后面的值。
# 所以,后面的只等于多少最终结果就是多少。 v2 = "李四"


v3 = "" and "李四"
# 第一步:将and前后的只转换为布尔值 False and True
# 第二步:判断本次操取决于谁?由于前面的是False,所以本次逻辑判断取决于前面的值。
# 所以,前面的只等于多少最终结果就是多少。 v2 = ""

v4 = 1 or 8 
# 第一步:将and前后的只转换为布尔值 True or True
# 第二步:判断本次操作取决于谁?由于前面的是True,所以本次逻辑判断取决于前面的值。
# v4 = 1

v5 = 0 or 8 
# 第一步:将and前后的只转换为布尔值 False or True
# 第二步:判断本次操作取决于谁?由于前面的是False,所以本次逻辑判断取决于后面的值。
# v5 = 8

练习题

v1 = 1 or 2               1
v2 = -1 or 3            -1
v3 = 0 or -1             -1
v4 = 0 or 100           100
v5 = "" or 10            10
v6 = "张三" or ""        张三
v7 = 0 or ""               “ ”       

print(v1,v2,v3,v4,v5,v6,v7)

# or,看第一个值,如果第一个值为真,结果就应该是第一个值,否则就结果就是第二个值。
v1 = 4 and 8                   8
v2 = 0 and 6                   0         
v3 = -1 and 88                 88
v4 = "" and 7                  “”
v5 = "张三" and ""             “”
v6 = "" and 0                  “”
v7 = 0 and "中国"              0

print(v1,v2,v3,v4,v5,v6,v7)

# and,看第一个值,如果第一个值真,结果就应该是第二个值,否则结果就是第一个值。

面试题

  • 如果多个and 和or的情况,先计算and再计算or.
v1 = 0 or 4 and 3 or 7 or 9 and 6
     0 or 3 or 7 or 9 and 6
     0 or 3 or 7 or 6
     3 or 7 or 6
     3 or 6
     3
v2 = 8 or 3 and 4 or 2 and 0 or 9 and 7
		 8
  
  
v3 = 0 or 2 and 3 and 4 or 6 and 0 or 3
		 4
  • 先计算not,在计算and,最后计算or
v4 = not 8 or 3 and 4 or 2
		 4

练习

猜年龄游戏
要求:允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出。

num = 0
while num < 3:
    num += 1
    age = input("年龄:")
    if age == "18":
        print("正确")
        break
    else:
        text = "错误,还有{0}机会".format(3 - num)
        print(text)
  1. 猜年龄游戏升级版
    要求:允许用户最多尝试3次,每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y,就继续让其猜3次,以此往复,如果回答N,就退出程序,如何猜对了,就直接退出。
num = 0
while num < 3:
    num += 1
    age = input("年龄:")
    if age == "18":
        print("正确")
        break
    else:
        text = "错误,还有{0}机会".format(3 - num)
        print(text)
        if num == 3:
            choice = input("是否继续")
            if choice == "否":
                break
            elif choice == "是":
                num = 0
                continue
            elseprint("输入错误")
                break

猜你喜欢

转载自blog.csdn.net/weixin_46268244/article/details/130755838