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

news/2023/12/9 17:01: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 …

零基础学习hadoop开发先明白这层关系

零基础学习hadoop开发先明白这层关系大数据hadoop无疑是当前互联网领域受关注热度最高的词之一&#xff0c;大数据技术的应用正在潜移默化中对我们的生活和工作产生巨大的改变。这种改变给我们的感觉是“水到渠成”&#xff0c;更为让人惊叹的是大数据已经仅仅是互联网行业的风…

Python-计算机硬件基础

预习计算机硬件基础1&#xff0c;CPU/内存、硬盘2&#xff0c;存储器什么是编程语言什么是编程编程的目的运行程序的三大核心硬件重要&#xff1a;运行程序&#xff0c;硬件的工作过程 -------------------------------------------------------------- 1&#xff0c;语言&…

设计模式-UML关系基础

设计模式-UML关系基础UML关系基础 类之间的关系 泛化 类在继承中表现为泛化和实现。继承关系为is-a的关系&#xff0c;两个对象之间用is-a表示为继承关系。eg&#xff0c;自行车是车&#xff0c;猫是动物。泛化关系用空心箭头表示如下图。A继承自B 用空心箭头表示A继承自B泛化关…

Perl 一段非常有用的代码,用来修改文件并备份

需求&#xff1a; 文件系统上有N个文件&#xff0c;他们都是.dat的文本文件&#xff0c;内容形式如下&#xff08;类似于一个状态卡&#xff09;&#xff1a; Program name: grantie Author: Jackie Company: Symantec Department: QA Phone: 86 1234 5678 Date: Tues March 9,…

Java面向对象----继承概念,super关键字

继承概念: 继承需要符合的关系 is-a , 父类通用更抽象,子类更特殊更具体 类之间的关系 继承体现组合体现实现接口体现继承的意义 代码重用 体现不同抽象层次 extends关键字 Super关键字 代表的是父类的对象的引用 package com.tanlei.newer;public class TeachersDemo {publi…

yii的安装

1.安装composer windows系统直接下载Composer-Setup.exe 运行安装。 2.安装Composer asset plugin composer安装完成后&#xff0c;在一个可通过web访问的目录&#xff08;如phpstudy的www目录&#xff09;下&#xff0c;运行以下命令&#xff1a; composer global require &qu…

vector的capacity增长方式

vector的capacity()调用返回vector中最大能够存储的元素个数&#xff0c;也即在下一次需要扩充容量之前能容纳的元素个数。reserve会使容器在必要的时候增长&#xff0c;以便容纳制指定数目的元素。 #include <iostream> #include <vector> using namespace std; i…

前端学习细小知识点记录(日志)

2018/11/7 prompt(string,defaultvalue):类似于警告框alert(),其为提示用户进行输入的对话框&#xff0c;返回string类型。Number()与parseInt()的区别&#xff1a;两者都是进行字符串到数字的转换&#xff0c;但是Number()对于参数中包含非数字时&#xff0c;一律判定为NaN,而…
最新文章