Python 学习2 判断、循环、函数

news2024/11/15 18:53:05

文章目录

  • 判断语句
    • 布尔类型和比较运算符
    • 判断语句:if语句
  • 循环语句
    • while循环
    • for循环
  • 函数
  • 小结


2023.10.29 周六
老规矩贴一下链接 B站 - 黑马程序员2022python教程

判断语句

布尔类型和比较运算符

Python中布尔类型的基础定义和比较运算符的使用,包括相等==、不相等!=、大于、小于、大于等于、小于等于等。

print("10>5:", 10 > 5)
print("10==5:", 10 == 5)
print("10<5:", 10 < 5)
print("bool(0):", bool(0))  # 0为False
print("bool(''):", bool(""))  # 空字符串为False
print("bool(None):", bool(None))  # None为False
print("bool([]):", bool([]))  # 空列表为False
print("bool(()):", bool(()))  # 空元组为False
print("bool({}):", bool({}))  # 空字典为False
print("bool(0.0):", bool(0.0))  # 0.0为False
print("bool(0j):", bool(0j))  # 0j为False
print("bool('Hello'):", bool("Hello"))  # 非空字符串为True
print("bool(15):", bool(15))  # 非0数字为True
print("bool(['apple', 'cherry', 'banana']):", bool(["apple", "cherry", "banana"]))  # 非空列表为True
print("10.5<=10:", 10.5 <= 10)
# print("10.5>=-1j:", 10.5>=-1j) # TypeError: '>=' not supported between instances of 'float' and 'complex'
print("10.5==10:", 10.5 == 10)  # False
print("'Hello'=='hello':", "Hello" == "hello")  # False 也可以比较字符串,大小写敏感
print("'a'>'b':", "a" > "b")  # False 比较单个字符,按照ASCII码比较,
print(ord('a') - ord('b'))# py中获取字符的ASCII码用ord()函数,不像Java中直接int('a')=97,或者'a' - 'b'=-1

判断语句:if语句

  1. 基本格式
    python中通过缩进控制代码块归属
    在这里插入图片描述
    在这里插入图片描述

    age = 18
    # if
    if age >= 18:
        print("You are old enough to vote!")
    print("Have you registered to vote yet?")
    
    # if-else
    if age >= 18:
        print("You are old enough to vote 2!")
    else:
        print("You are not old enough to vote 2!")
    print("This is outside the if statement! 2")
    
    # if-elif-else
    age = 12
    if age < 0:
        print("You are not born yet!")
    elif age < 4:
        print("You are a baby!")
    elif age < 13:
        print("You are a child!")
    elif age < 20:
        print("You are a teenager!")
    elif age < 65:
        print("You are an adult!")
    else:
        print("You are an elder!")
    
  2. 嵌套判断语句

    # 嵌套if
    if int(input("你的身高是?")) <= 120:
        print("可以免费乘坐过山车")
    else:
        if int(input("你的vip等级是?")) >= 3:
            print("可以免费乘坐过山车")
        else:
            print("需要购买门票")
            
    age = 20
    year = 3
    level = 1
    if age >= 18:
        print("你是成年人")
        if age < 30:
            print("你的年龄达标了")
            if year > 2:
                print("恭喜你,入职时间达标,可以领取礼物")
            elif level > 3:
                print("恭喜你,级别达标,可以领取礼物")
            else:
                print("不好意思,尽管年龄达标,但是入职时间和级别都不达标。")
        else:
            print("不好意思,年龄太大了")
    else:
        print("不好意思,年龄太小了")
    

循环语句

while循环

  1. 基本语法
    在这里插入图片描述
i = 1
while i < 100:
    print("循环第%d次" % i)
    i += 1 # 循环的出口,否则会死循环
  1. 嵌套
i = 1
while i <= 100:
    print(f"今天是第{i}天,准备表白......")
    j = 1
    while j <= 10:
        print(f"送给小美第{j}只玫瑰花")
        j += 1
        print("小美,我喜欢你")
    i += 1
print(f"坚持到第{i - 1}天,表白成功!")

for循环

  1. 基本语法
    在这里插入图片描述
    待处理数据集必须是一个序列,序列指可以一个个访问的组织形式,有点像Java的迭代器。python序列包括数字序列、字符串、列表、元组等。
    for i in range(10):
        print(i)
    
    s = "Hello World"
    count = 0
    for c in s:
        if c == 'o':
            count += 1
        print(c)
    print(f"count(o) = {count}")
    
  2. range
    目前看是左闭右开的
    # range 语法1
    for i in range(5): # 0 1 2 3 4
        print(i,end=' ')
    print()
    
    # range 语法2
    for i in range(5, 10): # 5 6 7 8 9
        print(i,end=' ')
    print()
    
    # range 语法3
    for i in range(0, 10, 3): # 0-10,步长为3, 0 3 6 9
        print(i,end=' ')
    print()
    
    # range 语法4
    for i in range(-10, -100, -30): # -10 -40 -70
        print(i,end=' ')
    print()
    
    # range 语法5
    a = ['Mary', 'had', 'a', 'little', 'lamb']
    for i in range(len(a)): # 0 1 2 3 4
        print(i, a[i],end=' ')
    print()
    
    # range 语法6
    print(range(10)) # range(0, 10)
    
    # range 语法7
    print(list(range(5))) # [0, 1, 2, 3, 4]
    
  3. 临时变量
    循环变量按理说作用域是在循环内的,但是外面直接拿,虽然不规范、虽然报警告,但拿到没问题
    # range 语法1
    for i in range(5): # 0 1 2 3 4
        print(i,end=' ')
    print()
    print(i) # 4
    
  4. 嵌套
    核心还是缩进的控制,也就是格式控制
  5. 循环控制语句 continuebreak
    没说的,和其他语言一样
    continue表示不执行本次循环下面的内容了,直接执行下一次循环
    break表示跳出当前循环,继续执行循环之后的语句
    import random
    
    # 先初始化金钱数量
    money = 10000
    
    for i in range(1, 21):  # 1-20号员工
        score = random.randint(1, 10)  # 随机生成1-10的整数
        if score < 5:  # 绩效分小于5,不发工资
            print(f"员工{i}绩效分{score}不满足,不发工资,下一位")
            continue
    
        # 判断余额是否足够
        if money >= 1000:
            money -= 1000
            print(f"员工{i},满足条件发放工资1000.公司账户余额:{money}")
        else:
            print(f"余额不足,当前余额:{money}元,不足以发工资,等老板充钱")
            break  # 余额不足,跳出循环
    

函数

  1. 基本语法
    在这里插入图片描述
    def sum(a, b):
        return a + b # 返回值,可以是简单表达式,返回语句之后的语句不再执行
    
    print(sum(1, 2)) # 调用函数并打印结果
    
  2. None
    """这两个函数输出相同"""
    def sum(a, b):
        print(a + b) # 无返回值
    
    
    sum(1, 2)  # 3
    print(sum(1, 2))  # 3(换行)None
    
    def sum(a, b):
        print(a + b)
        return None
    
    
    sum(1, 2)  # 3
    print(sum(1, 2))  # 3(换行)None
    
  3. 函数的嵌套调用
    def print1():
        print("Hello World")
    
    
    def print2():
        print("Hello World2")
        print1() # 调用print1函数
    
    
    print2() # Hello World2(换行)Hello World
    
  4. 全局变量和局部变量
    函数内部定义的变量成为局部变量,外部访问将报错
    """
    全局变量和局部变量
    """
    
    total = 0  # 这是一个全局变量
    
    
    def sum(arg1, arg2):
        # 局部变量
        total = arg1 + arg2
        print("函数内是局部变量:", total)
        return total
    
    
    def sum2(arg1, arg2):  # 不能同名sum,否则下面调用实际会把前面的sum函数覆盖掉,如果def 函数a,print a,def函数b,对应print b这样的顺序倒是没问题。。
        # 局部变量
        global total  # global使得函数内的total实际指向全局的total,但是global total必须是单独的声明,不能同时赋值
        total = arg1 + arg2
        print("global会指向全局的total:", total)
        return total
    
    
    print(f"此时这两个total没关系,{sum(10, 20)}")
    print(f"global使得函数内的total实际指向全局的total,{sum2(10, 20)}")
    print("函数外是全局变量:", total)
    

小结

进度:今天看的快了那么一点点,进度又推了六分之一多点,不过看着100节后面的好像和基本语法没啥关系了,也就是说,如果周一有空看,明天也可以算看完了。
感想:没啥感想,复制粘贴,最大的问题是我用的IDEA在开发python,发现格式化的时候如果有语法上的错误,比如说用了中文的”),那么格式化是不生效的,偏偏python对于格式符号很少而用缩进格式替代了,这就有点难蚌。。不知道pycharm是不是这样或者idea有没有解决的插件,改天看看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1152962.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络爬虫-Requests库入门

一、Requests库的安装 以管理员身份运行命令控制台&#xff0c;输入 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests 测试&#xff1a;打开IDLE 此时百度的html页面被抓取成功 二、requests库的7个主要方法 三、Requests库的get()方法&#xff1a;获得…

【C++】类和对象(中)之构造函数与析构函数

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.构造函数 1.1概念 1.2特性 2.析构…

基于计算机视觉的 Transformer 研究进展

论文地址&#xff1a; https://kns.cnki.net/kcms/detail/11.2127.tp.20211129.1135.004.html 18页&#xff0c;74篇参考文献 目录 摘 要 1 Transformer 基本原理 1.1 编码器-解码器 1.2 自注意力 1.3 多头注意力 2 在计算机视觉领域的应用 2.1 图像分类 2.1.1 iGPT …

Java使用正则表达式匹配省市县

目录 1.导入依赖 2.编写工具类 3.验证​ 1.导入依赖 <!--为了使用StringUtils--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.9</version></dependency>2…

【蓝桥杯选拔赛真题44】python小蓝晨跑 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 python小蓝晨跑 一、题目要求 1、编程实现 2、输入输出 二、算法分析

LeetCode | 27. 移除元素

LeetCode | 27. 移除元素 OJ链接 这道题有一个方法是要删除的数据直接后一个数据挪动到前一个数据&#xff0c;这个方法好不好&#xff1f;最坏的情况下时间复杂度是O(N^2) 还有一个方法 定义一个src定义一个dst&#xff0c;原地直接进行赋值&#xff0c;不进行挪动&#xf…

什么是车规级芯片?一起探讨车规级芯片NCV8705MTADJTCG LDO线性稳压器 工作原理、特性参数

关于车规级芯片&#xff08;Automotive Grade Chip&#xff09;&#xff0c;车规级芯片是专门用于汽车行业的芯片&#xff0c;具有高可靠性、高稳定性和低功耗等特点&#xff0c;以满足汽车电子系统的严格要求。这些芯片通常用于车载电子控制单元&#xff08;ECU&#xff09;和…

轻量级狂雨小说cms系统源码 v1.5.2 基于ThinkPHP5.1+MySQL

轻量级狂雨小说cms系统源码 v1.5.2 基于ThinkPHP5.1MySQL的技术开发 狂雨小说cms提供一个轻量级小说网站解决方案&#xff0c;基于ThinkPHP5.1MySQL的技术开发。 KYXSCMS,灵活&#xff0c;方便&#xff0c;人性化设计简单易用是最大的特色&#xff0c;是快速架设小说类网站首选…

移动路由器Cellular Router命令执行漏洞复现 [附POC]

文章目录 移动路由器Cellular Router命令执行漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 移动路由器Cellular Router命令执行漏洞复现 [附POC] 0x01 前言 免责声明&#xff1a;请勿利用文章…

Java IDEA设置环境变量 以及代码获取

IDEA 设置环境变量 1.进入如图设置&#xff0c;一般的 java 程序和 spring Boot &#xff0c;还是tomcat 都可以从这里进入 2.可以在如下地方手动添加 3. tomcat 类 4.spring boot 类 代码获取指定值 假定我设置如下 代码则如下获取&#xff08;类均为JDK 自带类&…

AI虚拟直播系统源码 24小时直播不停歇 带完整搭建教程

近几年电商直播带货热潮持高不跌&#xff0c;很多商家企业都会选择线上直播卖产品&#xff0c;与此同时&#xff0c;虚拟主播开始盛行&#xff0c;与真人主播相比&#xff0c;品牌虚拟主播无档期风险、离职风险、人设稳定更可控。 虚拟主播的不是为了取代真人主播而开发&#…

重锤式体电阻测试仪应用在什么领域?有什么作用?

重锤式体电阻测试仪是一种用于测量物体电阻的仪器&#xff0c;主要应用于以下几个领域&#xff1a; 电力工业&#xff1a;在电力系统中&#xff0c;重锤式体电阻测试仪可以用于测试电缆、变压器、开关设备等电气设备的电阻值&#xff0c;以确保它们的运行正常。 电子工业&…

AI集成ChatGPT敲代码神器Copilot

&#x1f4d1;前言 本文主要是AI工具Copilot解读文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日一句&#xff1a;努力…

最新彩虹云商城系统源码/孤傲电商云商城系统源码/在线购物商场视觉源码+自助下单+独立后台

源码简介&#xff1a; 最新彩虹云商城系统源码&#xff0c;孤傲电商云商城系统源码&#xff0c;它是在线购物商场视觉源码&#xff0c;有很好的视觉购物享受&#xff0c;它还有独立管理后台。 孤傲云商城系统是一款功能丰富的电子商务平台&#xff0c;而彩虹云商城系统plus史…

Python的web自动化学习(五)Selenium的隐式等待(元素定位)

引言&#xff1a; WebDriver隐式等待是一种全局性的等待方式&#xff0c;它会在查找元素时设置一个固定的等待时间。当使用隐式等待时&#xff0c;WebDriver会在查找元素时等待一段时间&#xff0c;如果在等待时间内找到了元素&#xff0c;则立即执行下一步操作&#xff1b;如果…

倾斜摄影三维模型的根节点合并注意事项浅析

倾斜摄影三维模型的根节点合并注意事项浅析 倾斜摄影三维模型的根节点合并是构建高精度、真实感和稳定性的三维模型的关键步骤之一。在进行根节点合并时&#xff0c;需要注意以下几个重要的事项&#xff0c;以确保合并的准确性和可靠性。 首先&#xff0c;准确的相机标定是进行…

5000元高端投影仪双十一怎么选?极米H6 4K高亮定焦版成为首选

随着人们对生活品质越来越高的追求&#xff0c;更多的年轻人开始选择以投影仪取代传统电视。但当下国内外市场上的投影仪品牌和型号众多&#xff0c;如果预算在5000元左右&#xff0c;应该选择哪一款投影仪呢&#xff1f;大家如果不知如何选择&#xff0c;不妨试试极米科技近期…

Shadingsphere proxy 启动报错 Windows

Exception in thread "main" java.lang.NoClassDefFoundError 本来打算在本地电脑测试一下proxy的功能&#xff0c;使用的二进制安装包&#xff0c;没想到怎么都启动不起来&#xff0c;一直报找不到某个类的错误。我还以为是自身的配置有问题&#xff0c;等我copy了…

HCIE怎么系统性学习?这份HCIE学习路线帮你解决

华为认证体系覆盖ICT行业十一个技术领域共十三个技术方向的认证&#xff0c;今天我们分享的是其中最热门的数据通信方向的HCIE学习路线。 HCIE是华为认证体系中最高级别的ICT技术认证 &#xff0c;旨在打造高含金量的专家级认证&#xff0c;为技术融合背景下的ICT产业提供新的能…

淘宝价格监控-电商数据采集分析

一、什么是淘宝商品数据采集&#xff1f; 淘宝商品数据采集&#xff0c;顾名思义&#xff0c;就是通过技术手段对全网电商平台上的商品价格信息进行抓取并保存。通过将收集到的这些价格信息进行分析处理后得到该商品的成交价、折扣率等关键属性指标&#xff0c;从而为卖家提供…