1语言基础

        数据结构与算法可以说是每位程序员的必修课,即使是AI高速发展的今天,熟悉数据结构与算法都无疑是面向开发的一项加分项。先从一个问题看起:

# 怎么让=后面不带空格
print("1+1=",1+1) # 1+1= 2

方案可能有更多,就像一个问题,设计程序去实现的方法也可能很多

# 1
print(f"1+1={1+1}")
# 2
print("1+1={}".format(1+1))
# 3
print("1+1=%d"%(1+1))
# 4
print("1+1="+str(1+1))

1.输入输出

1.1常量与变量

变量(Variables)
变量是用于存储数据的容器,其值可以在程序运行过程中改变。变量名通常由字母、数字和下划线组成,但不能以数字开头。

特点
可变性:变量的值可以在程序执行过程中被修改。
动态类型:Python是动态类型的语言,这意味着变量的类型是在运行时确定的,并且可以改变。
命名规则:变量名区分大小写,且不能与Python的关键字冲突。

# 定义一个整数变量
age = 25
print(age)  # 输出: 25

# 修改变量的值
age = 30
print(age)  # 输出: 30

# 定义一个字符串变量
name = "Alice"
print(name)  # 输出: Alice

    
常量(Constants)
常量是一种特殊类型的变量,其值在程序运行过程中不应被修改。虽然Python没有内置的常量类型,但通过约定俗成的方式,可以将某些变量视为常量。

特点
不可变性:常量的值一旦定义后就不能被修改。
命名约定:为了表示常量,通常使用全大写字母和下划线来命名。

命名约定:虽然Python本身不会强制要求常量必须全大写,但遵循这一约定有助于代码的可读性和维护性。
保护常量:如果需要更严格的保护,可以使用类或模块级别的属性来模拟常量。例如,通过定义一个类并使用类属性来存储常量。

# 定义一个常量
PI = 3.14159
print(PI)  # 输出: 3.14159

注意:不能以数字、特殊符号命名变量,_(下划线)可以

1.2基础数据类型

转换关系:

1.3运算符号

1.4输入
import sys# print -- print(*object,sep='',end='\n',file=sys.stdout,flush=False)'''
parm:object:表示输出一个或者多个对象,输出多个对象时需要使用sep分隔开sep:输出多个对象时使用 sep 分隔开,默认值 一个空格end:输出结束以 end 结尾,默认值是换行符\n,可以替换成其他字符串file:要写入的文件对象,默认为终端输出flush:输出(内容)是否被缓存,通常决定于file,如果flush=True,流会被强制刷新
'''print("www","baidu","com",sep='.',end='\n')

1.5输出
# input -- input([prompt])
'''
parm:prompt:提示信息默认输入的变量为 strint()可以转换成整数型
'''# 输出三角形的面积
a = int(input())
b = int(input())
c = int(input())
1
p = (a+b+c)/2import math
s = math.sqrt(p*(p-a)*(p-b)*(p-c))print("三角形的面积是{}".format(s))

2.选择结构

2.1 if...else...

1.if语句

2.if...else...语句

 

year = int(input()) # 1000-9999if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):print(year,"是闰年")
else:print(year,"不是闰年")

2.2 if...elif...else...

# 1 if条件句
c_grade = int(input())
m_grade = int(input())
e_grade = int(input())if c_grade==100 or m_grade==100 or e_grade==100:print("奖励一朵小红花")
elif (c_grade>90 and m_grade>90) or (c_grade>90 and e_grade>90) or (m_grade>90 and e_grade>90):print("奖励一朵小红花")
elif c_grade>80 and m_grade>80 and e_grade>80:print("奖励一朵小红花")
else:print("再接再厉")

2.3 逻辑判断语句

1. 基本逻辑运算符
and: 逻辑与运算符,当且仅当两个操作数都为真时,结果才为真。

a = True
b = False
result = a and b  # result 为 False


or: 逻辑或运算符,只要有一个操作数为真,结果就为真。

a = True
b = False
result = a or b  # result 为 True

    
not: 逻辑非运算符,将操作数的布尔值取反。

a = True
result = not a  # result 为 False

    
2. 比较运算符
这些运算符用于比较两个值,并返回布尔值(True 或 False)。

==: 等于

a = 5
b = 5
result = (a == b)  # result 为 True

    
!=: 不等于

a = 5
b = 3
result = (a != b)  # result 为 True

    
<, >, <=, >=: 小于、大于、小于等于、大于等于

a = 5
b = 3
result = (a > b)   # result 为 True
result = (a < b)   # result 为 False
result = (a >= b)  # result 为 True
result = (a <= b)  # result 为 False

    
3. 组合逻辑表达式
可以使用括号来组合多个逻辑表达式,以明确运算顺序。

a = True
b = False
c = True
result = (a and b) or c  # result 为 True

    
4. 短路求值

and: 如果第一个操作数为False,则整个表达式的结果为False,不再计算第二个操作数。
or: 如果第一个操作数为True,则整个表达式的结果为True,不再计算第二个操作数。

def func1():
    print("func1 called")
    return True

def func2():
    print("func2 called")
    return False

result = func1() and func2()  # func1 called, func2 called, result 为 False
result = func1() or func2()   # func1 called, result 为 True


5. 三元运算符(条件表达式)
Python支持三元运算符,用于简洁的条件判断。

a = 5
b = 3
result = "a is greater" if a > b else "b is greater"  # result 为 "a is greater"

 

# 实现例题
# 逻辑判断语句
a = int(input())
b = int(input())
c = int(input())case1 = a == 100 or b == 100 or c == 100
case2 = (a>90 and b>90) or (a>90 and c>90) or (b>90 and c>90)
case3 = a>80 and b>80 and c>80ans = case1 or case2 or case3print(ans)

 

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

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

相关文章

Redis 可观测最佳实践

Redis 介绍 Redis 是一个开源的高性能键值对&#xff08;key-value&#xff09;数据库。它通常用作数据库、缓存和消息代理。Redis 支持多种类型的数据结构&#xff0c;Redis 通常用于需要快速访问的场景&#xff0c;如会话缓存、全页缓存、排行榜、实时分析等。由于其高性能和…

【前端】JavaScript 变量声明和函数声明的提升机制:深入探讨提升优先级与其行为

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;提升&#xff08;Hoisting&#xff09;概述&#x1f4af;提升机制——函数声明 vs 变量声明&#x1f4af;代码示例&#xff1a;函数与 var 的提升提升后的代码解析分析 …

fastadmin实现站内通知功能

实现效果如下 application/admin/view/common/header.html <style>#notificationMenu {display: none;position: absolute;top: 40px;right: 0;background: #fff;border-radius: 6px;padding: 10px 0;width: 300px;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);z-inde…

Axure RP教程:创建高效用户界面和交互

Axure RP是一款广受好评的软件&#xff0c;专门用于设计精致的用户界面和交互体验。这款软件提供了众多UI控件&#xff0c;并根据它们的用途进行了分类。与此同时&#xff0c;国产的即时设计软件作为Axure的替代品&#xff0c;支持在线协作和直接在浏览器中使用&#xff0c;无需…

2024-11-25 二叉树的定义

一、基本概念 1.二叉树是n(n>0)个结点的有限集合: ① 或者为空二叉树&#xff0c;即n0。 ②或者由一个根结点和两个互不相交的被称为根的左子树和右子树组成。左子树和右子树又分别是一棵二叉树。 特点&#xff1a; ①每个结点至多只有两棵子树。 ②左右子树不能颠倒&am…

部署实战(二)--修改jar中的文件并重新打包成jar文件

一.jar文件 JAR 文件就是 Java Archive &#xff08; Java 档案文件&#xff09;&#xff0c;它是 Java 的一种文档格式JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中&#xff0c;多出了一个META-INF/MANIFEST.MF 文件META-INF/MANIFEST.MF 文件在生成 JAR 文件的时候…

对象的大小

文章目录 一、对象大小 一、对象大小 对象是类实例化出来的&#xff0c;让我们分析一下类对象中哪些成员呢&#xff1f; 类实例化出的每个对象&#xff0c;每个都有独立的数据空间&#xff0c;所以对象中肯定包含 成员变量&#xff0c;那么成员函数是否包含呢&#xff1f; 首…

01-go入门

文章目录 Go语言学习1. 简介安装windows安装linux安装编译工具安装-goland 2. 入门2.1 Helloworld注释 2.2 变量初始化打印内存地址变量交换匿名变量作用域局部变量全局变量 2.3 常量iota 2.4 数据类型布尔整数浮点类型复数字符串定义字符串字符串拼接符定义多行字符串 map数据…

数据库的联合查询

数据库的联合查询 简介为什么要使⽤联合查询多表联合查询时MYSQL内部是如何进⾏计算的构造练习案例数据案例&#xff1a;⼀个完整的联合查询的过程 内连接语法⽰例 外连接语法 ⽰例⾃连接应⽤场景示例表连接练习 ⼦查询语法单⾏⼦查询多⾏⼦查询多列⼦查询在from⼦句中使⽤⼦查…

LeetCode-632. Smallest Range Covering Elements from K Lists [C++][Java]

目录 题目描述 解题思路 【C】 【Java】 LeetCode-632. Smallest Range Covering Elements from K Listshttps://leetcode.com/problems/smallest-range-covering-elements-from-k-lists/description/ 题目描述 You have k lists of sorted integers in non-decreasing o…

UI自动化测试中公认最佳的设计模式-POM

一、概念 什么是POM&#xff1f; POM是PageObjectModule&#xff08;页面对象模式&#xff09;的缩写&#xff0c;其目的是为了Web UI测试创建对象库。在这种模式下&#xff0c;应用涉及的每一个页面应该定义为一个单独的类。类中应该包含此页面上的页面元素对象和处理这些元…

Scala文件读写——成绩分析

根据文件解决下例问题 1.读入txt文件&#xff1a;按行读入 import scala.io.Sourceobject Test文件读写_成绩分析 {def main(args: Array[String]): Unit {//1.按行读入val source Source.fromFile("score.txt")val it source.getLines()it.next()//跳过第一行wh…

C# Winform 俄罗斯方块小游戏源码

文章目录 1.设计来源俄罗斯方块小游戏讲解1.1 主界面1.2 游戏界面1.3 游戏结束界面1.4 配置游戏界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板&#xff0c;程序开发&#xff0c;在线开发&#xff0c;在线沟通 作者&#xff1a;xcLeigh 文章地址&#xff1a;https:…

前端框架Vue3——响应式数据,v-on,v-show和v-if,v-for,v-bind

Vue的定义为渐进式的JavaScript框架。所谓渐进式&#xff0c;是指其被设计 为可以自底向上逐层应用。我们可以只使用Vue框架中提供的某层的功 能&#xff0c;也可以与其他第三方库整合使用。当然&#xff0c;Vue本身也提供了完整的 工具链&#xff0c;使用其全套功能进行项目的…

实验二 系统响应及系统稳定性

实验目的 &#xff08;1&#xff09;学会运用Matlab 求解离散时间系统的零状态响应&#xff1b; &#xff08;2&#xff09;学会运用Matlab 求解离散时间系统的单位取样响应&#xff1b; &#xff08;3&#xff09;学会运用Matlab 求解离散时间系统的卷积和。 实验原理及实…

.NET Core发布网站报错 HTTP Error 500.31

报错如图&#xff1a; 解决办法&#xff1a; 打开任务管理器》》服务》》找到这仨服务&#xff0c;右键启动即可&#xff0c;如果已经启动了就重启&#xff1a;

麒麟安全增强-kysec

DAC: 自主访问控制是linux下默认的接入控制机制,通过对资源读、写、执行操作,保证系统安全 MAC:安全接入控制机制,由操作系统约束的访问控制,默认情况下,MAC不允许任何访问,用户可以自定义策略规则制定允许什么 ,从而避免很多攻击。 MAC强制访问控制常见的实现方式:…

Otter 安装流程

优质博文&#xff1a;IT-BLOG-CN 一、背景 随着公司的发展&#xff0c;订单库的数据目前已达到千万级别&#xff0c;需要进行分表分库&#xff0c;就需要对数据进行迁移&#xff0c;我们使用了otter&#xff0c;这里简单整理下&#xff0c;otter 的安装过程&#xff0c;希望对…

如何解决Jupyter command `jupyter-contrib` not found.

目录 (base) C:\Users\hello>pip show jupyter_contrib_nbextensions Name: jupyter-contrib-nbextensions Version: 0.7.0 Summary: A collection of Jupyter nbextensions. Home-page: https://github.com/ipython-contrib/jupyter_contrib_nbextensions.git Author: ipyt…

Gitee markdown 使用方法(持续更新)

IPKISS 获取仿真器件的名称 引言正文标题换行第一种------在行末尾手动键入两个空格第二种------额外换行一次&#xff0c;即两行中间留一个空行 缩进与反缩进代码块行内代码添加图片添加超链接 加粗&#xff0c;倾斜&#xff0c;加粗倾斜 引言 有些保密性的文件或者教程&…