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

news2025/1/18 10:51:16

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_3
    print("百位数:", 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 math

radius = float(input("请输入圆的半径:"))

circumference = 2 * math.pi * radius
area = math.pi * radius ** 2

print("圆的周长为:{:.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 = 3

total = 0
total += a
total += b
total += c

print(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 True
    else:
        return False

# 测试示例年份
year1 = 2000
year2 = 2023
year3 = 1900
year4 = 2024

print(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 datetime

def 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.coloradmin.cn/o/1293798.html

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

相关文章

小红书蒲公英平台开通后,有哪些注意的地方,以及如何进行报价?

今天来给大家聊聊当小红书账号过1000粉后&#xff0c;开通蒲公英需要注意的事项。 蒲公英平台是小红书APP中的一个专为内容创作者设计的平台。它为品牌和创作者提供了一个完整的服务流程&#xff0c;包括内容的创作、推广、互动以及转换等多个方面。 2.蒲公英平台的主要功能 &…

MySQL8.0新特性:函数索引,使用函数也不会导致索引失效~

文章目录 写在前面使用函数索引1、数据准备2、索引验证&#xff08;1&#xff09;普通索引&#xff08;2&#xff09;函数索引 总结 写在前面 之前我们知道&#xff0c;如果在查询中加入了函数&#xff0c;索引不生效&#xff0c;所以MySQL 8引入了函数索引&#xff0c;MySQL …

Uview------使用教程

一、点击一下链接安装&#xff1a; https://ext.dcloud.net.cn/plugin?id1593 如果使用HBuilderX编辑器的可以直接点击第一种方式自动安装即可 二&#xff1a;配置文件 在main.js中写入 记得要写在import Vue from vue下面 import uView from ./uni_modules/uview-ui Vue…

【EI征稿中|ACM出版】2023 人工智能、系统与网络安全国际学术会议 (AISNS 2023)

2023 人工智能、系统与网络安全国际学术会议 (AISNS 2023&#xff09; 2023 International Conference on Artificial Intelligence, Systems and Network Security 由西南科技大学计算机科学与技术学院主办的2023人工智能、系统与网络安全国际学术会议 (AISNS 2023&#xff…

windows MYSQL下载和自定路径安装,以及解决中文乱码问题。

文章讲的很详细&#xff0c;请耐心往下看。 一、mysql下载 下载网址&#xff1a;https://www.mysql.com/downloads/ 表示不登录&#xff0c;直接下载。 以上就把安装包下载完了。下载是8.0.35版本。 二、接下来看怎么安装 1.双击安装包&#xff0c;进行安装。 注意&#x…

MX6ULL学习笔记 (八) platform 设备驱动实验

前言&#xff1a; 什么是 Linux 下的 platform 设备驱动 Linux下的字符设备驱动一般都比较简单&#xff0c;只是对IO进行简单的读写操作。但是I2C、SPI、LCD、USB等外设的驱动就比较复杂了&#xff0c;需要考虑到驱动的可重用性&#xff0c;以避免内核中存在大量重复代码&…

MATLAB - 绘制立体图(平面+水深)

目录 代码结果 代码 % 在 X-Y 平面上绘图 % 正常绘制平面图 [X,Y,Z] peaks; contour(X,Y,Z,20); hold on% ****重点******************************************** % 改为三维视图&#xff0c;具体可以help % view(3); %此时的平面图对应z0 &#xff1b;默认az-37.5&#x…

Sql Server关于表的建立、修改、删除

表的创建&#xff1a; &#xff08;1&#xff09;在“对象资源管理器”面板中展开“数据库”节点&#xff0c;可以看到自己创建的数据库&#xff0c;比如Product。展开Product节点&#xff0c;右击“表”节点&#xff0c;在弹出的快捷菜单中选择“新建表”项&#xff0c;进入“…

[FPGA 学习记录] 快速开发的法宝——IP核

快速开发的法宝——IP核 文章目录 1 IP 核是什么2 为什么要使用 IP 核3 IP 核的存在形式4 IP 核的缺点5 Quartus II 软件下 IP 核的调用6 Altera IP 核的分类 在本小节当中&#xff0c;我们来学习一下 IP 核的相关知识。 IP 核在 FPGA 开发当中应用十分广泛&#xff0c;它被称为…

FastAPI查询参数和字符串校验

在FastAPI中&#xff0c;你可以为参数声明额外的信息和校验。这对于查询参数来说尤其有用&#xff0c;因为它们通常用于过滤或排序结果。本教程将引导你如何使用Query对象来添加这些额外的校验。 导入所需库 首先&#xff0c;你需要导入FastAPI以及Query对象&#xff1a; fr…

【已解决】ImportError: cannot import name ‘Merge‘ from ‘keras.layers‘

问题描述 ImportError: cannot import name ‘Merge‘ from ‘keras.layers‘ 解决办法 1、tensorflow和keras版本要对应&#xff1b; 2、使用"merge" pip uninstall keras pip install keras2.3.1 from keras.layers import merge完结撒花 我这血中带泪的成长&…

从传统到胜利:广汽集团汽车产业创新之旅

置身于汽车行业百年未有之大变局&#xff0c;作为传统车企中的排头兵&#xff0c;广汽创新可圈可点&#xff0c;广汽近年来取得了骄人业绩&#xff0c;不论是整体产销规模&#xff0c;还是新能源汽车产业化、新技术领域开拓等&#xff0c;都呈现节节攀升的局面。本文奖从产业变…

2024年值得关注的8个未来数据库

2024年值得关注的8个未来数据库 关系型数据库管理系统在数据库技术领域占据主导地位已经多年了。当SQL在1970年代首次出现时&#xff0c;关系型数据库管理系统的使用和受欢迎程度迅速提升。很快&#xff0c;MySQL成为了大多数公司和团队首选的数据库。 然而&#xff0c;2023年…

时间序列预测实战(二十六)PyTorch实现Seq2Seq(LSTM)(结果可视化+自动保存结果)

一、本文介绍 本文给大家带来的时间序列模型是Seq2Seq&#xff0c;这个概念相信大家都不陌生了&#xff0c;网上的讲解已经满天飞了&#xff0c;但是本文给大家带来的是我在Seq2Seq思想上开发的一个模型和新的架构&#xff0c;其是专门为新手开发的&#xff0c;而且为了方便大…

上海亚商投顾:沪指探底回升微跌 AI概念股全线反弹

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 大指数早间震荡调整&#xff0c;午后探底回升集体翻红&#xff0c;临近尾盘又小幅走弱。AI概念股全线反弹&…

pytorch优化之SAM优化器

1. SAM介绍 人机验证 2. 案例 ❀精度优化❀优化策略1&#xff1a;网络SAM优化器_夏天&#xff5c;여름이다的博客-CSDN博客文章浏览阅读3.3k次&#xff0c;点赞10次&#xff0c;收藏30次。精度优化策略&#xff1a;SAM:Sharpness AwarenessMinimization锐度感知最小化论文&…

【CCF CSP】202309-2 坐标变换(其二)

80分超时暴力代码&#xff1a;读入数据&#xff0c;对于每个待操作坐标都重新对于所给区间进行平移&#xff0c;旋转的坐标变换 #include <iostream> #include <cmath>using namespace std;struct mani {int type;double num; }; mani all[100001];int main() {in…

在VSCode中运行Python脚本文件时如何传参

以下实验所处的操作系统环境说明&#xff1a; OS版本MacOSMonterey 12.1VSCodeOctober 2023 (version 1.84.2) 一、背景 在 VSCode 中写好 Python 脚本后&#xff0c;如果要运行起来&#xff0c;可以怎么做呢&#xff1f; 一般有以下几种方式&#xff1a; 1、直接在 VSCode…

简单使用selenium抓取微博热搜话题存储进Excel表格中

#test.pyimport requests from selenium import webdriver import time from write import write#首先打开浏览器 drive webdriver.Chrome()#设置隐式等待&#xff1a;等待元素找到&#xff0c;如果找到元素则马上继续执行语句&#xff0c;如果找不到元素&#xff0c;会在设定…

【性能测试】性能测试之性能测试指标详解(详细)

前言 刚开始&#xff0c;以为做性能测试&#xff0c;就是做些脚本、参数化、关联&#xff0c;压起来之后&#xff0c;再扔出一个结果。 但实际上不止这些内容&#xff0c;还要加上性能分析&#xff0c;关注调优之后响应时间有多大的提升&#xff0c;TPS 有多大的提高&#xf…