Python 从入门到精通 学习笔记 Day02

Python 从入门到精通 第二天

在这里插入图片描述

今日目标

字符串基本操作、字符串序列操作、输入输出函数
字符串内置方法、运算符、练习之前学习的内容

一、字符串基本操作

在Python中,字符串的转义是指在字符串中使用特殊的字符序列来表示一些特殊字符。
在Python中,字符串的转义符是反斜杠\,可以用来表示一些特殊的字符,如单引号、双引号、换行符、制表符等。
以下是一些常用的字符串转义符:
'表示单引号
"表示双引号
\表示反斜杠
\n表示换行符
\t表示制表符
\r表示回车符
例如,以下是一些使用字符串转义符的示例:

#使用字符串转义符
print('I\'m a student. ')
print("He said,\"Hello world!\"")
print("C:\\Users\\Username\\Desktop")
print("Hello\nworld!")
# 使用%s 将变量插入到字符串中
name = "小明"
age = 18
height = 1.75
print("大家好,我的名字叫%s,今年‰%d岁,身高%.2f米。"%(name,age,height))
#使用f-string将变量插入到字符串中
name = "小红"
age = 20
height = 1.65
print(f"大家好,我的名字叫{name},今年{age}岁,身高{height:.2f}米。")

二、字符串序列操作

字符串属于序列类型,所谓序列,指的是一块可存放多个值的连续内存空间
这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。

# 定义字符串
string = "hello jiang"
# 索引
print(string[0])  # 输出“h"
print(string[6])  # 输出“j"
# 切片
print(string[2:5])  # 输出“llo"
print(string[:5])  # 输出"hello"
print(string[6:])  # 输出“jiang"
# len
print(len(string))  # 输出11
# in 判断
print("jiang" in string)  # 输出 True
print("world" in string)  # 输出False
# +、*拼接
string1 = "hello"
string2 = "jiang"
print(string1 + "" + string2)  # 输出hello jiang"
print(string1 * 3)  # 输出"hellohellohello"

三、输入输出函数

在Python中,输入和输出函数分别是input()和print()。
input()函数用于从标准输入(键盘)读取一个用户输入的字符串,并将其返回。
可以通过可选的提示字符串来提示用户输入。
示例代码:

name = input("请输入您的姓名:")
print("您好," + name + "!")

在这个例子中,input()函数会提示用户输入姓名,并将用户输入的字符串作为返回值赋给变量name。
然后,print()函数会输出一个欢迎消息,其中包含用户输入的姓名。

print()函数用于输出一个或多个对象到标准输出(屏幕)。
可以通过多个参数来指定要输出的对象,它们将按照给定的顺序依次输出。
示例代码:

print("Hello,world!")
print("The answer is", 42)

在这个例子中,print()函数分别输出了一个字符串和一个整数,它们被用逗号分隔开。
输出结果为:
Hello,world!
The answer is 42

四、字符串内置方法

方法:upper
作用:全部大写
示例:“Hello”.upper()
结果:HELLO

方法:lower
作用:全部小写
示例:“Hello”.lower()
结果:hello

方法:startswith(“蒋”)
作用:是否以蒋开头
示例:“蒋一一”.startswith(“蒋”)
结果:True

方法:endswith(“蒋”)
作用:是否以蒋结尾
示例:“蒋一一”.endswith(“蒋”)
结果:False

方法:isdigit()
作用:是否全数字
示例:‘123’.isdigit()
结果:True

方法:strip()
作用:去两边空格
示例:" 蒋一一 ".strip()
结果:蒋一一

方法:join()
作用:将多个字符串连接在一起
示例:“-”.join([“北京”, “上海”, “深圳”])
结果:北京-上海-深圳

方法:split()
作用:按某字符分割字符串,默认按空格分割
示例:“北京-上海-深圳”.split(“-”)
结果:[‘北京’, ‘上海’, ‘深圳’]

方法:find()
作用:搜索指定字符串,没有返回-1
示例:“hello jiang”.find(“jiang”)
结果:6

方法:index()
作用:同find(),但是找不到会报错
示例:“hello jiang”.index(“jiang”)
结果:6

方法:count()
作用:统计指定的字符串出现的次数
示例:“hello jiang”.count(“i”)
结果:1

方法:replace()
作用:替换old为new
示例:“hello jiang”.replace(“hello”,“goodbye”)
结果:goodbye jiang

五、运算符

运算符类别

计算运算符
+-*/%比较运算符
><>=<===!=赋值运算符
=+=-=*=/=%=逻辑运算符
and:两个条件都必须满足,才会返回True,否则返回False
特点:有一个条件为假结果为假or:两个条件只要有一个满足,就会返回True,否则返回False
特点:有一个条件为真结果为真not:对一个条件取反,如果条件为True,返回False
如果条件为False,返回True成员运算符
inin运算符用于检查一个值是否包含在某个集合中,
例如字符串、列表、元组、集合或字典的键中。
如果包含,则返回True,否则返回False

奇偶判断

num = 10
if num % 2 == 0:print(num, "是偶数")
else:print(num, "是奇数")

输出结果:

10 是偶数

攻击力受损

# 定义初始的生命值和攻击力
health = 100
attack = 20# 输出初始的生命值
print("初始的生命值为",health)# 模拟攻击,计算剩余生命值
health -= attack# 输出剩余生命值
print("剩余的生命值为",health)

输出结果:

初始的生命值为 100
剩余的生命值为 80

逻辑与、或

可以使用以下代码来判断语文成绩和数学成绩是否同时等于100,并根据结果打印相应的输出:

# 定义语文成绩和数学成绩
chinese_score = 100
math_score = 100
# 判断语文成绩和数学成绩是否同时等于100
if chinese_score == 100 and math_score == 100:print("奖励一个礼物")
else:print("未达到奖励条件")

输出结果:

奖励一个礼物

在这个代码中,将要判断的语文成绩和数学成绩分别赋值给chinese_score和math_score变量
然后使用if语句判断这两个成绩是否同时为100
如果是则输出“奖励一个礼物”,否则输出"未达到奖励条件”
可以将上面代码中的chinese_score和math_score变量替换为其他要判断的成绩进行测试

如果要将条件改为语文成绩和数学成绩任意一个为100时奖励一个礼物,可以将代码修改为以下形式:

# 定义语文成绩和数学成绩
chinese_score = 100
math_score = 99
# 判断语文成绩和数学成绩任意一个为100则奖励一个礼物
if chinese_score == 100 or math_score == 100:print("奖励一个礼物")
else:print("未达到奖励条件")

输出结果:

奖励一个礼物

在这个代码中,使用了逻辑运算符or将语文成绩和数学成绩的判断条件联合起来判断是否有一个成绩等于100
如果有,则输出“奖励一个礼物",否则输出“未达到奖励条件"
可以将上面代码中的chinese_score和math_score变量替换为其他要判断的成绩进行测试

范围判断

可以使用以下代码来判断一个人的年龄是否符合招聘条件:

age = 25
if age >= 20 and age <= 35:print("符合招聘条件")
else:print("不符合招聘条件")

输出结果:

符合招聘条件

在这个代码中,将要判断的年龄赋值给age变量,然后使用if语句判断该年龄是否符合招聘条件
如果是则输出"符合招聘条件",否则输出"不符合招聘条件"
可以将上面代码中的age变量替换为其他要判断的年龄进行测试。

登录判断

# 定义正确的用户名和密码
valid_username = 'user123'
valid_password = 'pwd456'# 获取用户输入的用户名和密码
username = input("请输入用户名:")
password = input("请输入密码:")# 判断用户名和密码是否正确
if username == valid_username and password == valid_password:print("登录成功!")
else:print("用户名或密码错误!")

输出结果:

请输入用户名:user123
请输入密码:pwd456
登录成功!

六、练习之前学习的内容

1.编写一个Python程序,输入一个三位数,将其拆分为百位数、十位数和个位数。
并输出它们的和。

# 编写一个Python程序,输入一个三位数,将其拆分为百位数、十位数和个位数。并输出它们的和。
number = int(input("请输入一个三位数:"))
gewei = int(number % 10)
shiwei = int(number / 10 % 10)
baiwei = int(number / 100)
sum = gewei + shiwei + baiwei
print(sum)
number = input("请输入一个三位数:")if len(number) != 3:print("输入不合法!")
else:digit_1 = int(number[0])digit_2 = int(number[1])digit_3 = int(number[2])total = digit_1 + digit_2 + digit_3print("百位数:", digit_1)print("十位数:", digit_2)print("个位数:", digit_3)print("它们的和:", total)

2.获取用户输入圆的半径。
使用圆的周长和面积公式计算出圆的周长和面积。
将圆的周长和面积按照以下格式输出到屏幕上:
圆的周长为:XXX
圆的面积为:XXX

radius = float(input("请输入圆的半径:"))
pai = 3.1415926
zhouchang = float(2 * pai * radius)
mianji = float(pai * radius * radius)
print("圆的周长为:", zhouchang)
print("圆的面积为:", mianji)
import mathradius = float(input("请输入圆的半径:"))circumference = 2 * math.pi * radius
area = math.pi * radius ** 2print("圆的周长为:{:.2f}".format(circumference))
print("圆的面积为:{:.2f}".format(area))

3.用户输入一个11位手机号,将第5位至第8位替换成*。

phone_number = input("请输入一个11位的手机号: ")if len(phone_number) != 11:print("I手机号位数有误!")
else:new_phone_number = phone_number[:4] + "****" + phone_number[8:]print("新手机号是:", new_phone_number)

4.问题描述:
将Unix/Linux系统下的路径字符串/Users/jiang/npm/index.js
转换为Windows系统下的路径字符串 \Users\jiang\npm\index.js,其中
Unix/Linux系统下的路径分隔符为/,Windows系统下的路径分隔符为\。
请使用两种方式来实现路径转换,分别是使用字符串的replace()方法和使用字符串的split()方法以及字符串的join()方法。
#定义Unix/Linux系统下的路径字符串,其中包含了路径分隔符/
unix_path = “/Users/jiang/npm/index.js”

unix_path = "/Users/jiang/npm/index.js"
windows_path = unix_path.replace("/", "\\")
print(windows_path)
unix_path = "/Users/jiang/npm/index.js"
windows_path = "\\".join(unix_path.split("/"))
print(windows_path)

5.定义三个变量a、b和c,并分别将它们的值赋为1、2和3。
定义一个变量total并将其初始化为0。
使用+=运算符将a、b和c的值累加到变量total 中。
输出变量total的值。

a = 1
b = 2
c = 3total = 0
total += a
total += b
total += cprint(total)

6.根据闰年的定义,一个年份能够被4整除但不能被100整除,或者能够被400整除,那么这个年份就是闰年。
因此,在判断闰年的时候,需要满足以下两个条件之一:
年份能够被4整除但不能被100整除;
年份能够被400整除。
如果上述条件之一成立,则这个年份就是闰年。
否则,这个年份就不是闰年。

def is_leap_year(year):if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:return Trueelse:return False# 测试示例年份
year1 = 2000
year2 = 2023
year3 = 1900
year4 = 2024print(year1, "是闰年吗?", is_leap_year(year1))
print(year2, "是闰年吗?", is_leap_year(year2))
print(year3, "是闰年吗?", is_leap_year(year3))
print(year4, "是闰年吗?", is_leap_year(year4))

7.在Pycharm中实现第一个Python程序开发,功能如下
终端打印helloworld
终端打印当前时间
终端打印1-100的随机数

import random
import datetimedef print_hello_world():print("Hello World!")def print_current_time():current_time = datetime.datetime.now()print("当前时间是:", current_time)def print_random_numbers():random_numbers = random.sample(range(1, 101), 1)for number in random_numbers:print(number)if __name__ == "__main__":print_hello_world()print_current_time()print_random_numbers()

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

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

相关文章

低代码你需要了解一下

低代码的概念可以追溯到1980年代&#xff0c;当时IBM的快速应用程序开发工具&#xff08;RAD&#xff09;被冠以新的名称——低代码&#xff0c;由此&#xff0c;低代码的概念首次面向大众。然而&#xff0c;在近40年的历程中&#xff0c;低代码发展经历了两个阶段&#xff1a;…

力扣78. 子集(java 回溯解法)

Problem: 78. 子集 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 我们易知&#xff0c;本题目涉及到对元素的穷举&#xff0c;即我们可以使用回溯来实现。对于本题目我们应该较为注重回溯中的决策阶段&#xff1a; 由于涉及到对数组中元素的穷举&#xff0c;即在每…

Leetcode刷题笔记题解(C++):165. 比较版本号

思路&#xff1a;利用小数点来分开求和&#xff0c;判断和是否相等来推断两个版本号是否一致 class Solution { public:int compareVersion(string version1, string version2) {int i0;//记录version1的字符下标int j0;//记录version2的字符下标int num10;//保存version1的和…

Unity传送门特效: The Beautiful Portal/Level up/Teleport/Warp VFX

7种不同风格的传送门特效! 每个传送门都有一个轻型和重型版本。 每个版本都有一个"无循环”和一个"无限”预制件:D 总共有28个预制件 -VFX完全使用Unity的粒子系统和基本的Unity着色器。 使用标准渲染管道中制作了这个资产。所以VFX的功能就像视频宣传片一样。 同时,…

Spring AOP从入门到精通

目录 1. AOP的演化过程 1. 代理模式 2. 动态代理 2.1 JDK动态代理 2.2 Cglib动态代理 3. Spring模式 3.1 ProxyFactory 3.2 ProxyFactoryBean 3.3 AbstractAutoProxyCreator 2. Spring AOP抽象 1. 核心术语 1.1 连接点(JoinPoint) 1.2 切点(Pointcut) 1.3 增强(Ad…

C# Solidworks二次开发:三种获取SW设计结构树的方法-第二讲

今天这篇文章是接上一篇文章的&#xff0c;主要讲述的是获取SW设计结构树节点的第二种方法。 这个方法获取节点的逻辑是先获取最顶层节点&#xff0c;然后再通过获取顶层节点的子节点一层一层的把所有节点都找出来&#xff0c;也就是需要递归。想要用这个方法就要了解下面几个…

tomcat环境搭建

镜像下载地址&#xff1a;https://mirror.tuna.tsinghua.edu.cn/apache/tomcat/ 配置环境变量 添加系统变量 编辑Path 测试 dos窗口运行startup启动tomcat 访问http://localhost:8080/

【每日一题】—— D. Divide and Equalize(Codeforces Round 903 (Div. 3))(数学、数论)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;每日一题 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日反刍 &#x1f7e1; C跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称…

Linux操作系统 中的用户管理,也就是关于用户的相关的操作与理解

目录 1 概念2 用户管理的类型3、模板目录4 查看历史命令5 相关文件6 创建用户useradd7 命令passwd 存储及shadow命令下的用户密码8 usermod命令&#xff08;修改属性&#xff09;9 密码设置10 删除命令userdel11 用户组的操作12 用户权限13 创建一个用户组&#xff0c;并且将这…

ORA-600 kcbzib_kcrsds_1一键恢复

一个19c库由于某种原因redo损坏强制打开库报ORA-600 kcbzib_kcrsds_1错误 SQL> startup mount pfile?/database/pfile.txt; ORACLE instance started. Total System Global Area 859830696 bytes Fixed Size 9034152 bytes Variable Size 5…

我们一起聊一聊JWT的那些事

我们一起聊一聊JWT的那些事 一切美好&#xff0c;如期而至… 什么是JWT JWT&#xff0c;全称为 JSON Web Token&#xff0c;是一种用于在网络上安全地传递信息的开放标准&#xff08;RFC 7519&#xff09;。JWT 是一种紧凑且独立的方式&#xff0c;用于在各方之间以 JSON 对象…

javaTCP协议实现一对一聊天

我们首先要完成服务端&#xff0c;不然出错&#xff0c;运行也要先运行服务端&#xff0c;如果不先连接服务端&#xff0c;就不监听&#xff0c;那客户端不知道连接谁 服务端 import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.Actio…

消费1000返1500元,买了4罐奶粉倒赚商家2000元?商家亏吗?

大家好&#xff0c;我是微三云胡佳东&#xff0c;一个深耕私域电商模式玩法的互联网人&#xff01;&#xff01; 在当前的全球经济环境下&#xff0c;消费增值的概念正逐渐受到广泛的关注。这一模式的崛起&#xff0c;不仅仅是一种商业模式的创新&#xff0c;更代表着我们对经…

[⑦ADRV902x]: JESD204学习笔记

前言 JESD204B/C基于SERDES&#xff08;SERialization/DESerialization&#xff09;技术&#xff0c;也就是串化和解串&#xff0c;在发送端将多位并行的数据转换为1 bit的串行数据&#xff0c;在接收端将串行数据恢复成原始的并行数据。 在JESD204接口出现以前&#xff0c;数…

TOC清洁验证棉签:擦拭取样清洁验证专用的强力助手!

由PP聚丙烯杆聚酯纤维布头构成的TOC清洁验证棉签&#xff0c;用于清洁验证协议的表面采样取样&#xff0c;对难以到达的区域或狭小空间的精密清洗等。 棉签杆使用聚丙烯制作,杆上的缺口能使棉签头在较小的操作及污染下放进小瓶中,具有较好的化学相容性。 有缺口的分离式手柄允许…

class036 二叉树高频题目-上-不含树型dp【算法】

class036 二叉树高频题目-上-不含树型dp code1 102. 二叉树的层序遍历 // 二叉树的层序遍历 // 测试链接 : https://leetcode.cn/problems/binary-tree-level-order-traversal/ code1 普通bfs code2 一次操作一层 package class036;import java.util.ArrayList; import java…

全自动影像仪图像自动匹配对焦,测量一致性好

全自动影像仪使用自动边缘提取、自动匹配、自动对焦、测量合成等先进的机器视觉和人工智能技术&#xff0c;能实现高精度的测量与自动对焦。这些技术提高测量的连贯性和准确性&#xff0c;进而提升生产效率与产品质量。 此外&#xff0c;全自动影像仪还具有多种功能&#xff0…

【二叉树】

文章目录 树形结构注意要点细分概念树在生活中的应用 二叉树什么是二叉树二叉树特点&#xff1a;两种特殊的二叉树二叉树的性质二叉树性质的练习二叉树的存储二叉树的遍历前序遍历中序遍历后序遍历遍历练习 树形结构 树是一种非线性的数据结构&#xff0c;它具有以下的特点&am…

LeetCode 1038. 从二叉搜索树到更大和树:(反)中序遍历

【LetMeFly】1038.从二叉搜索树到更大和树&#xff1a;&#xff08;反&#xff09;中序遍历 力扣题目链接&#xff1a;https://leetcode.cn/problems/binary-search-tree-to-greater-sum-tree/ 给定一个二叉搜索树 root (BST)&#xff0c;请将它的每个节点的值替换成树中大于…

k8s中的Pod网络;Service网络;网络插件Calico

Pod网络&#xff1b;Service网络&#xff1b;网络插件Calico Pod网络 在K8S集群里&#xff0c;多个节点上的Pod相互通信&#xff0c;要通过网络插件来完成&#xff0c;比如Calico网络插件。 使用kubeadm初始化K8S集群时&#xff0c;有指定一个参数–pod-network-cidr10.18.0…