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_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()

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java实现TCP一对一通信,实现UDP群聊通信

TCP一对一通信: 实现服务端对话框&#xff1a; 其中可自由更改对话框的样式 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.net.*; public class QqMain extends JFrame implements ActionListener{public static void …

可视化监控/安防视频云平台公共区域人员行为安全监控方案

大家在浏览新闻时&#xff0c;经常会看到某某地区有人员摔倒&#xff0c;长时间无人发现或人员闯入某危险区域管理人员未及时劝离&#xff0c;导致发生了意外事故的新闻。由于人力资源和人为巡检能力有限&#xff0c;在很多公共区域无法及时检测人员行为从而导致危险发生。为确…

千万别碰SLAM,会变得不幸--下阙

0.书接上回 之前的工作内容总结: 1.学习了回环检测的流程,还学习了DLoopDetector算法。 2.修改了vins-mono将匹配和回环到的图片进行保存。 3.找到了一个不是办法的办法来代替pr曲线,指定范围作真值。 4.大致了解了DTW地磁匹配算法,关键点是要划分第一圈和第二圈的界限。 …

如何还原分区? 分区和卷恢复的详细步骤

​我们曾介绍过用傲梅轻松备份将分区备份为镜像文件的方法。那备份好的分区如何恢复呢&#xff1f;同样&#xff0c;使用傲梅轻松备份也能实现分区的还原。以下是分区还原的步骤&#xff1a; 提示&#xff1a;提前使用傲梅轻松备份创建一个可启动U盘。 1. 准备U盘启动…

QT----自定义信号和槽

第二天 2.1自定义信号和槽 新建一个Qtclass 自定义信号&#xff1a;返回值是void &#xff0c;只需要声明&#xff0c;不需要实现&#xff0c;可以有参数&#xff0c;可以重载 自定义槽&#xff1a;返回值void &#xff0c;需要声明&#xff0c;也需要实现&#xff0c;可以有…

学习Opencv(蝴蝶书/C++)相关1——4.图形和大型数组类型

文章目录 1. 多维度数组和多通道数组区别2. NAryMatIterator详解2.1 介绍2.2 dispatch和SIMD(OpenCV和numpy)2.2.1 OpenCV的2.2.2 numpy的2.2.3 OpenCV文档搜索2.3 调用指令集对代码进行优化2.4 NAryMatIterator理解2.4.1 plane和连续2.4.2 构造函数和迭代2.5 NAryMatIterato…

快速认识什么是:Kubernetes

每次谈到容器的时候&#xff0c;除了Docker之外&#xff0c;都会说起 Kubernetes&#xff0c;那么什么是 Kubernetes呢&#xff1f;今天就来一起学快速入门一下 Kubernetes 吧&#xff01;希望本文对您有所帮助。 Kubernetes&#xff0c;一种用于管理和自动化云中容器化工作负…

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

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

【网络安全】零日漏洞(0day)是什么?如何防范零日攻击?

零日攻击是利用零日漏洞&#xff08;0day&#xff09;对系统或软件应用发动的网络攻击&#xff0c;近年来&#xff0c;零日攻击威胁在日益增长且难以防范&#xff0c;零日攻击已成为企业网络信息安全面临的最严峻的威胁之一。 文章目录 What is a zero-day attack&#xff1f;…

2023年12月8日历史上的今天大事件早读

1633年12月8日 明代科学家徐光启逝世 1794年12月8日 法国大革命吉伦派分子被接纳进法国国民大会 1813年12月8日 已丧失听觉的贝多芬指挥自己第七交响乐的首演音乐会 1856年12月8日 英国物理学家、电子发现者约瑟夫-约翰-汤姆逊出生 1920年12月8日 西北五马联合自治 1925年…

Python django-xadmin:构建强大的 Django 后台管理系统

概要 Django作为一款强大的Web框架&#xff0c;其后台管理系统提供了便捷的数据管理和操作方式。而 django-xadmin 则为Django的后台管理系统提供了更加强大的功能和灵活的定制选项。在本文中&#xff0c;我们将深入研究如何使用django-xadmin&#xff0c;并通过详细的示例代码…

0009Java程序设计-ssm微信小程序在慢性疾病管理中的应用

文章目录 **摘要**目录系统实现开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅&#x1f427;裙&#xff1a;776871563 摘要 首先,论文一开始便是清楚的论述了小程序的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例…

Navicat连接Oracle数据库

Navicat连接Oracle数据库 打开服务里面找到Oracle服务 OracleServerXE或者OracleServerTTL 创建数据库连接 连接名默认自己起 主机选择本地 端口默认 服务名在服务中可以找到输入后缀 用户名默认都是system 密码是创建oracle时候填写的口令 点击测试连接即可

老师如何管理课堂纪律?

在教学过程中&#xff0c;保持良好的课堂纪律是十分重要的&#xff0c;它能够保证教学质量、促进学生学习效果的提升和教师教学效率的提高。然而&#xff0c;如何有效地管理课堂纪律成为一个极为重要的问题。接下来&#xff0c;本文将介绍几种管理课堂纪律的方法。 1. 建立规章…

flutter添加全局水印

效果&#xff1a; 可以直接引用&#xff1a;disable_screenshots: ^0.2.0 但是有时候直接引用会报错&#xff0c;可以不引用插件直接把下面的源码工具类放在项目里面 工具类源码&#xff1a; import dart:io; import dart:math;import package:flutter/cupertino.dart; impor…

docker:搭建私有仓库

文章目录 1、拉取镜像2、运行容器3、测试成功4、修改daemon.json5、重启docker 服务6、上传镜像到私有仓库6.1 标记某个镜像为私有仓库镜像6.2 上传镜像到私有仓库 其他注意项 1、拉取镜像 docker pull registry2、运行容器 docker run -di --nameregistry -p 5000:5000 regi…

北京发布阅读分级指南 促进阅读素养提升

12月5日,《北京市中小学生阅读能力分级标准指南(试行)》发布。据悉,指南适用于义务教育阶段和高中阶段,共构建五级能力分级指标体系。旨在通过明确各学年段学生的阅读素养发展目标来指导学生进行分级阅读,从而淡化学科界限,突出学生在学习、生活中真实的阅读情境和阅读能力要求…

如何通过EDI向Daimler发送发票?

此前的文章&#xff1a;Daimler EDI 项目案例 中&#xff0c;我们已经成功对接Daimler&#xff0c;接下来我将为大家介绍如何将发票由Daimler的发票系统切换至EDI。 EDI需求背景 在Daimler的前期需求中&#xff0c;只涉及到了VDA4905交付预测以及VDA4913发货通知两种报文。对…

java版王者荣耀(源代码)

1.项目结构截图 2.源代码 2.1 backgroud package com.sxt;import javax.swing.*; import java.awt.*;public class Background extends GameObject {public Background(GameFrame gameFrame) {super(gameFrame);// TODO Auto-generated constructor stub}Image bg Toolkit.ge…

直方图均衡化实现

一 直方图均衡化的概念 直方图均衡化(Histogram Equalization)是一种**增强图像对比度**(Image Contrast)的方法&#xff0c;其主要思想是将一副图像的**灰度直方图分布**通过**累积分布函数**变成**近似均匀分布**&#xff08;直观上在某个灰阶范围内像素值保持一致 &#xf…