python学习笔记4---分支、循环、条件与枚举

news/2024/12/25 18:23:58

表达式

表达式(Expression)是 运算符(operator)和 操作数(operand)所构成的 序列

>>> 1 + 1
2
>>> a = [1,2,3]
>>> 1 + 1 + 1 + 1
4
>>> 1 + 2 * 3
7
>>> 1 * 2 + 3
5
>>> a = 1 + 2 * 3
>>> a = 1
>>> b = 2
>>> c = a and b or c
>>> c = int('1') + 2

运算符优先级

clipboard.png

同级的运算符的优先级还是有区别的 比如逻辑运算符里的 and的优先级大于or
>>> a = 1
>>> b = 2
>>> c = 3
>>> a + b * c
7
>>> 1 or 2
1
>>> 1 and 3
3
>>> a or b and c
1
>>> a or (b and c)
1
>>> a or 3
1
>>> (a or b) and c
3
>>> (a or b) and (c + 1)   //两个括号同级,左结合
4
>>> a = 1
>>> b = 2
>>> c = a + b    //出现赋值符号时,右结合
>>> print(c)    
3
>>> c = a or b
>>> print(c)
1
>>> a = 1
>>> b = 2
>>> c = 2
>>> not a or b + 2 == c
False
>>> ((not a) or ((b + 2) == c))    //优先级:not > and > or
False

在文本文件中编写Python代码

clipboard.png
python脚本是后缀名为.py的文件,通过命令行“python filename.py”执行

clipboard.png

推荐的IDE:PyCharm、vsCode,大型工程适合用PyCharm,学习适合用vsCode,vsCode中推荐的插件:python、Terminal、Vim、vscode-icons

注释

单行注释用#
多行注释用```

流程控制语句

主要有 条件控制(if else)循环控制(for while)分支

条件控制(if else)

# encoding: utf-8

mood = False

if mood :
    print('go to left')
    # print('back away')
# print('back away')
else :
    print('go to right')
    
a = 1
b = 2
c = 2
# if后面不仅可以是布尔值,还可以是表达式
if a or b + 1 == c :
    print('go to left')
    # print('back away')
# print('back away')
else :
    print('go to right')
# encoding: utf-8
"""
    一段小程序
"""
# constant 常量  建议全大写
ACCOUNT = 'hughie'
PASSWORD = '123456'
# python变量建议都用小写,用下划线分隔单词,不用驼峰命名
print('please input account')
user_account = input()

print('please input password')
user_password = input()

if ACCOUNT == user_account and PASSWORD == user_password:
    print('success')
else:
    print('fail')
# encoding: utf-8
# snippet 片段

if condition:
    pass
else:
    pass


a = True
if a:
    # pass 空语句/占位语句
    pass
else:
    print('')


if True:
    pass
if False:
    pass

# 嵌套分支
if condition:
    if condition:
        pass
    else:
        pass
else:
    if condition:
        pass
    else:
        pass

# 代码块
if condition:
    code1
        code11
        code22
            code333
            code444
                code5555
                code6666
    code2
    code3
else:
    code1
    code2
    code3

改写为elif
# encoding: utf-8
"""
a = x

a = 1 print('apple')
a = 2 print('orange')
a = 3 print('banana')

print('shopping')
"""

a = input()
print('a is' + a)
if a == 1:
    print('apple')
else:
    if a == 2:
        print('orange')
    else:
        if a == 3:
            print('banana')
        else:
            print('shopping')


# 改写为elif
a = input()
print(type(a))
print('a is ' + a)
a = int(a)
if a == 1:
    print('apple')
elif a == 2:
    print('orange')
elif a == 3:
    print('banana')
else:
    print('shopping')

循环(while for)

# encoding: utf-8
# 循环

# 循环语句

# while     for
# CONDITION = True
# while CONDITION:
#     print('I am while')

counter = 1
# 递归常用while
while counter <= 10:
    counter += 1
    print(counter)
else:
    print('EOF')
# encoding: utf-8

# 主要是用来遍历/循环 序列或者集合、字典
# a = ['apple', 'orange', 'banana', 'grape']
# for x in a:
#     print(x)

# a = [['apple', 'orange', 'banana', 'grape'], (1, 2, 3)]
# for x in a:
#     for y in x:
#         # print(y, end='')
#         print(y)
# else:
#     print('fruit is gone')


# a = [1, 2, 3]

# for x in a:
#     if x == 2:
#         # break 遇到x==2的时候终止,打印出1
#         # break
#         # continue 遇到x==2的时候跳过,打印出1,3
#         continue
#     print(x)
# else:
#     print('EOF')


a = [['apple', 'orange', 'banana', 'grape'], (1, 2, 3)]
for x in a:
    # if 'banana' in x:
    #     break
    for y in x:
        if y == 'orange':
            # 内部循环跳出后,外部循环还在执行
            break
        print(y)
else:
    print('fruit is gone')
# encoding: utf-8
# for (i=0; i<10; i++){}

# 以上的for循环用python实现
# for x in range(0, 10):
#     # range(0,10) 表示从0开始的10个数字,并不包含10
#     print(x)


# for x in range(0, 10, 2):
#     # range(0,10,2) 2表示步长
#     print(x, end=' | ')
#     # 打印结果:0 | 2 | 4 | 6 | 8 |


for x in range(10, 0, -2):
    print(x, end=' | ')
    # 打印结果:10 | 8 | 6 | 4 | 2 |
# encoding: utf-8

a = [1, 2, 3, 4, 5, 6, 7, 8]

# for i in range(0, len(a), 2):
#     print(a[i], end=' | ')
    # 1 | 3 | 5 | 7 | 

b = a[0:len(a):2]
print(b)
    # [1, 3, 5, 7]

http://www.niftyadmin.cn/n/2103137.html

相关文章

利用python内置下载器-快速分享文件

一、任务场景&#xff1a;工作中需要将服务器上的某些文件传给对应的同事&#xff0c;如果临时去搭建文件服务器或者配置&#xff0c;操作起来不太方便二、比如临时需要分享/tools这个目录的文件&#xff0c;操作方法如下&#xff1a;1、采用http的方式进行分享a) python2的版本…

单例模式: 懒汉式 饿汉式 登记式(Spring的IOC) 代码亲测(多线程测试)

目录 第一种: 饿汉式(内存占用问题) ->上代码: 第二种: 懒汉式(线程安全问题) ->上代码 第三种: 登记式(特殊) 具体情况介绍: ->上代码: 测试代码: 测试结果: 单例模式使用场景-> [三种情况都经过代码测试] 第一种: 饿汉式(内存占用问题) 实现简单 …

angular6 利用 ngContentOutlet 实现组件位置交换(重排)

ngContentOutlet指令介绍 ngContentOutlet指令与ngTemplateOutlet指令类似&#xff0c;都用于动态组件&#xff0c;不同的是&#xff0c;前者传入的是一个Component&#xff0c;后者传入的是一个TemplateRef。首先看一下使用&#xff1a; <ng-container *ngComponentOutlet&…

JTable的模型

2018-11-04 23:15:21开始写 模型类 1 import javax.swing.table.DefaultTableModel;//导入包2 3 public class LocalTableModel extends DefaultTableModel {//继承4 Class[] types new Class[] {java.lang.String.class, java.lang.String.class};// 表头的类类型5 b…

体验荣耀手环4Running版,玩出健康!

手环现在已经成为了很多人生活的必备&#xff0c;刚开始接触的时候觉得挺新奇可以看时间查看一些运动数据&#xff0c;但时间长了就感觉不够给力了&#xff0c;主要是对于喜欢运动的我来说&#xff0c;这些手环产品并没有起到太大的作用&#xff0c;之后基本只是当做简单的小手…

智能媒体管理(IMM)文档转换/预览提供 API 按量计费模式

一、导语 智能媒体管理 (Intelligent Media Management, IMM) 是阿里云的云服务&#xff0c;它通过 文档标准型 实例提供了 Cloud Native 架构的文档转换/预览功能 &#xff0c;本文介绍 API 按量计费模式的配置。 二、创建文档标准型按量计费项目 使用 API 按量计费&#xff…

XCode各版本与Mac OS各版本对应列表

Apple公司你不说牛B是不行的&#xff01;人家就是凭借“封闭”式开发与“封闭”式销售&#xff0c;硬是把手机移动市场的一大块牢牢把握住。我还不知道&#xff0c;目前世界上还有哪些IT公司敢向他们挑战。不费话了&#xff0c;现在把XCode各版本与Mac OS各版本对应列表如下&am…

拉格朗日插值和牛顿插值 matlab

1. 已知函数在下列各点的值为 0.2 0.4 0.6 0.8 1.0 0.98 0.92 0.81 0.64 0.38 用插值法对数据进行拟合&#xff0c;要求给出Lagrange插值多项式和Newton插值多项式的表达式&#xff0c;并计算插值多项式在点的值。 程序&#xff1a; x[0.2 0.4 0.6 0.8 1.0]; y[0.98 …