python基础之流程控制

Posted zhowhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础之流程控制相关的知识,希望对你有一定的参考价值。

python流程控制

python的流程控制跟大多数的语言一样,包括if条件语句、for循环语句、while循环语句;跳出循环continue,break等

写在前面

python中的运算

1)算数运算

以下假设变量:a=10,b=20:

 技术分享图片

2)比较运算

技术分享图片

3)赋值运算

技术分享图片

4)位运算

以下假设变量:a=60,b=13,对应二进制为a=0011 1100;b=0000 1101

技术分享图片

5)逻辑运算

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

技术分享图片

6)成员运算,身份运算

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

技术分享图片

身份运算符用于比较两个对象的存储单元

技术分享图片

补充运算符的优先级

技术分享图片

我们一般知道大概就行,在不确定优先级的情况下可以用()来规定优先级,括号里的优先级大于外面的!

if条件判断

单支
if 条件: 
  执行语句
多支
if 条件: # 条件成立 执行下方缩进里的执行语句
  执行语句
elif 条件:  # elif非必须的,当多个条件时可以使用多个elif,执行跟if一样
  执行语句
else# 上面条件都不成立,执行
  执行语句

示例:

基本条件判断if:

# 如果:年龄>30岁,那么:叫阿姨
age_of_girl = 31
if age_of_girl > 30:
    print(阿姨好)

 if……else……

# 如果:年龄>30岁,那么:叫阿姨
# 否则:叫小姐姐
age_of_girl = 31
if age_of_girl > 30:
    print(阿姨好)
else:
    print(小姐姐)

if……elif……else

# 如果:年龄>30岁,那么:叫阿姨
# 如果:18<年龄<=30, 叫小姐姐
# 否则:叫小屁孩
age_of_girl = 20
if age_of_girl > 30:
    print(阿姨好)
elif 18 < age_of_girl <= 30:
    print(小姐姐)
else:
    print(小屁孩)

条件组合

# 如果18<年龄<25并且身高>165并且体重<100并且漂亮就撩
# 否则:阿姨好
age = 22
height = 170
weight = 99
is_pretty = True
if age >= 18 and age <= 25 and height > 165 and weight < 100 and is_pretty:
    print(撩一下)
else:
    print(阿姨好)

if嵌套

# 在上面基础上
# 如果撩成功了   在一起
# 否则           开个玩笑
age = 22
height = 170
weight = 99
is_pretty = True
success = True
if age >= 18 and age <= 25 and height > 165 and weight < 100 and is_pretty:
    if success:
        print(在一起)
    else:
        print(开玩笑的)
else:
    print(阿姨好)

简单示例:

用户登录

技术分享图片
 1 userinfo = {            # 用字典存储用户信息,以后会经常用到
 2     name: zhow,
 3     pwd: 123456
 4 }
 5 name = input(请输入用户名:).strip()  # input让用户输入
 6 pwd = input(请输入密码:).strip()
 7 if name == userinfo[name] and pwd == userinfo[pwd]:
 8     print(登录成功)
 9 else:
10     print(用户名或密码错误)
View Code

for循环语句

python中的for循环可循环一切可迭代的对象,包括字符串,列表,字典等,以及后面介绍迭代器和可迭代对象等。

基本格式

for i in range(10):  # range(10)生成一个列表从0开始
    print(i)

其他示例:

s = I love python
for i in s:
    print(i)

l = [1, 2, 3, 4, 5, 6, 7]
for i in l:
    print(i)

d = {name: zhow, age: 18}
for k, v in d.items():
    print(k, v)

while循环语句

基本格式

while 条件:   
    # 循环体
    # 如果条件为真,那么循环体继续执行,执行完毕后再次循环,重新判断条件。。。
    # 如果条件为假,那么循环体不执行,循环终止

基本使用

# 打印数字,奇数,偶数
# i = 0
# while i < 10:
#     print(‘loop‘,i)  
#     i += 1

# while i < 10:
#     if i % 2 == 0:  # 对2取余来判断是否为偶数
#         print(‘loop‘, i)
#     i += 1

# while i < 10:
#     if i % 2 == 1:
#         print(‘loop‘, i)  # 对2取余来判断是否为奇数
#     i += 1

死循环

while条件一直成立,并且循环体内没有跳出语句。

import time
i = 0
while True:
    print(i)
    i = i + 1
    time.sleep(1)  # 让程序睡眠一秒,就是暂停一秒

break使用

break跳出循环,结束循环

while True:
    name = input(请输入您的名字:)
    pwd = input(请输入您的密码:)
    if name == user and pwd == 123:
        print(登录成功)
        break        #  跳出循环
    else:
        print(登录失败)

continue使用

continue结束本次循环进入下次循环

n = 1
while n <= 5:
    if n == 4:
        n += 1
        continue
    print(n)
    n += 1

while+tag====》》》True和False

tag = True
while tag:
    print(第一层)
    while tag:
        print(第二层)
        while tag:
            cmd = input(第三层>>:)
            if cmd == q:
                tag = False
                break

练习示例

1)打印金字塔

技术分享图片
 1 # 方法一
 2 n = int(input(您要打印的层数:).strip())  # 默认输入是字符串需要转换成整数
 3 n = n * 2
 4 i = 1
 5 while i <= n:
 6     print((i*x).center(n,  ))
 7     i += 2
 8 
 9 # 方法二
10 n = int(input(您要打印的层数:).strip())  # 默认输入是字符串需要转换成整数
11 n = n * 2
12 for i in range(n):
13     if i % 2 == 1:
14         print((i*x).center(n,  ))
View Code

2)打印乘法口诀

技术分享图片
i = 1
while i < 10:
    j = 1
    while j <= i:
        print(str(i) + x + str(j) + = + str(i*j), end=	)
        j += 1
    print()
    i += 1

for i in range(10):
    for j in range(1, i+1):
        print(str(i) + x + str(j) + = + str(i * j), end=	)
    print()

# end = ‘	‘代表打印了不换行   输出一个tab   默认是end = ‘
‘
View Code

乘法口诀装13写法

print(
.join([ .join([%s*%s=%-2s % (j, i, i * j) for j in range(1, i + 1)]) for i in range(1, 10)]))

综合示例

猜数字

给定一个数字,你猜小了提示你小了,猜大了提示大了,刚好猜中提示中了并退出,总共可以猜3次,超出次数提示超过次数

技术分享图片
 1 num=56
 2 for i in range(3):
 3     guess_num = int(input(输入你猜的数字:))
 4     if guess_num == num:
 5         print(恭喜你猜对了)
 6         break
 7     elif guess_num > num:
 8         print(你猜的数字大了)
 9     else:
10         print(你猜的数字小了)
11 else:
12     print(你猜的次数过多,game over)
View Code
技术分享图片
 1 num=56
 2 count = 3
 3 while True:
 4     if count == 0:
 5         print(你猜的次数过多,stupid)
 6         break
 7     guess_num = int(input(输入你猜的数字:))
 8     if guess_num == num:
 9         print(恭喜你猜对了)
10         break
11     elif guess_num > num:
12         print(你猜的数字大了)
13     else:
14         print(你猜的数字小了)
15     count -= 1
View Code

 

以上是关于python基础之流程控制的主要内容,如果未能解决你的问题,请参考以下文章

python基础之流程控制

Python 基础之流程控制——for

Python基础之流程控制

python基础之流程控制数字和字符串处理

JavaScript基础之流程控制语句

Java基础之流程控制