首页 > 其他分享 >day 05-3 数据类型(字符串)

day 05-3 数据类型(字符串)

时间:2024-03-05 16:44:28浏览次数:27  
标签:name 05 数据类型 字符串 range print message data day

3.3 公共功能

1.字符串相加

v1 = "linzai" + "是个好人"
print(v1)  # linzai是个好人

2.字符串相乘

v1 = "linzai" *3
print(v1)  # linzailinzailinzai

3.计算字符串的长度

v1 = "linzai"
data = len(v1) # 计算字符串的长度
print(data) # 6

4.获取字符串的字符,索引

字符串
正序 0 1 2 3 4 5 6
倒序 -7 -6 -5 -4 -3 -2 -1
message = "今天是个好天气"
print (message[0]) # 今,正序计算 
print (message[1]) # 天
print (message[2]) # 是
print (message[3]) # 个

print (message[-1]) # 气 ,倒序计算
print (message[-2]) # 天

补充注意:字符中是能通过索引取值,但是无法修改值(字符串在内部存储时不允许对内部元素修改,想修改只能重新创建。)

message = "今天是个好天气"
data = 0
while data < len(message):
    value = message[data]  # 正序
    print(value)
    data += 1
# 今
# 天
# 是
# 个
# 好
# 天
# 气

message = "今天是个好天气"
data = len(message) -1
while data >= 0 :
    value = message[data]
    print(value)
    data -= 1
# 气
# 天
# 好
# 个
# 是
# 天
# 今

5.获取字符串中的子序列,切片

message = "今天真的是个好天气呀"
print (message[0:2]) # 前取后不取,取0-1,今天
print (message[2:5]) # 真的是
print (message[2:]) # 真的是个好天气呀
print (message[:5]) # 今天真的是
print (message[2:-1]) # 真的是个好天气
print (message[2:len(message)]) # 真的是个好天气呀

注意:注意:字符串中的切片只能读取数据,无法修改数据。[字符串在内部存储时不允许对内部元素修改,想要修改只能重新创建]

message = "今天真的是个好天气呀"
value = message[:6] +"非常" +message[7:]
print (value) #今天真的是个非常天气呀

6.步长,跳着去字符串的内容

name = "今天是个好天气,适合出去郊游"
print(name[0:5:2]) # (前两个值表示区间范围,最后一个值表示步长) 输出:今是好
print(name[0:8:2]) # (区间范围的前面不写则表示起始范围为0开始) 输出:今是好气
print(name[2: :3]) # (区间范围的后面不写则表示结束范围为最后) 输出:是天适去
print(name[ : :2]) # (区间范围不写表示整个字符串) 输出:今是好气适出郊
print(name[8:1:-1]) # (倒序) 输出:适,气天好个是
print(name[-1:1:-1]) # (倒序) 输出:游郊去出合适,气天好个是
print(name[ : :-1]) # (完全倒序) 输出:游郊去出合适,气天好个是天今

7.循环

  • while循环
message = "今天是个好天气"
data = len(message) -1
while data >= 0 :
    value = message[data]
    print(value)
    data -= 1
# 今
# 天
# 是
# 个
# 好
# 天
# 气
  • for循环
data = "举杯邀明月"
for char in data : # for...in是固定搭配,char每循环一次获取的字符
    print(char)
# 举
# 杯
# 邀
# 明
# 月

在Python编程语言中,for char in data: 是一个循环结构,用来遍历序列类型的变量 data 中的每个单独元素。这里的 char 是循环变量,它会在每次循环迭代时依次取得 data 中的下一个元素。

data 是字符串、列表或其他可迭代对象(如元组、集合或字典的键等)时,这段代码会按照从左到右的顺序,让 char 在每次循环迭代时分别绑定到 data 中的每一个字符(如果 data 是字符串)或每一个元素(如果 data 是其他类型的序列)。

  • range,帮助常见一系列的数字
v1 = list(range(10))
v2 = list(range(0,9)) # 前取后不取
v3 = list(range(1,10,2)) # range(1,10,2) 会生成一个从1开始到9结束(不包括10),步长为2的整数序列
v4 = list(range(10,1,-1)) # range(10,1,-1) 将会生成一个从10开始,到1结束(不包括1),步长为-1的整数序列。换句话说,它会递减地遍历从10到1之间的所有整数。

print(v1) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(v2) # [0, 1, 2, 3, 4, 5, 6, 7, 8]
print(v3) # [1, 3, 5, 7, 9]
print(v4) # [10, 9, 8, 7, 6, 5, 4, 3, 2]
  • for + range
# 案例一
for i in range(5) : # 它将会迭代5次,其中变量 i 在每次迭代中将分别取值从0到9
    print (i)
# 结果输出:
# 0
# 1
# 2
# 3
# 4 

# 案例二
message = "今天是个好天气"

for i in range(5): # range(5) 会产生一个从0开始到4结束(不包括5)的整数序列,即 [0, 1, 2, 3, 4]。
    print (message[i]) # 按照索引顺序打印出 message 列表中的前五个元素
# 结果输出:
# 今
# 天
# 是
# 个
# 好

# 案例三   
# 在这个例子中,message 是一个字符串,内容为 "今天是个好天气"。len(message) 返回字符串的长度,也就是字符的数量,本例中是7个汉字,因此 range(len(message)) 将生成一个从0到6(不包括7)的整数序列。
接下来的 for 循环会按照这些整数索引去访问字符串 message 中的每个字符,并打印出来
message = "今天是个好天气"
for i in range(len(message)) : # 通过索引获取
    print (message[i])
# 结果输出:
# 今
# 天
# 是
# 个
# 好
# 天
# 气

一般应用场景

  • while,一般在做无限制(未知)循环此处时使用
while True :
    ...

# 用户名输入一个值,如果不是整数就一直输入,直到是整数为止
num = 0
while True:
    data = input("请输入内容:")
    if data.isdecimal():
        num = int(data)
        break
    else :
        print ("输入错误,请重新输入!")

  • for循环,一般应用在已知的循环数量的场景

    message = "今天是个好天气"
    for i in range(len(message)) : 
        print (message[i])
        
    message = "今天是个好天气"
    for i in range(5):
        print (message[i]) 
    
    • for 和while都可以使用break和continue
message = "今天是个好天气"
for char in message :
    if char =="好" :
        continue
    print (char)

# 今
# 天
# 是
# 个
# 天
# 气

message = "今天是个好天气"
for char in message :
    if char =="好" :
        break
    print (char)

# 今
# 天
# 是
# 个

4.4 转换

  • 整型转字符串
num = 999
data = str(num)
print (data) # 字符串的“999”
  • 布尔值转字符串

4.5 其他

字符串不可被修改

name = "linzai"
v1 = name[0] # 原有的字符串没有改变,是新生成了一个字符串
v2 = name[1]
print (v1, v2)

# 列表中的元素是可以修改的
name_list=[11,22,33]
name_list[0]
name_list[0] = 222 # 列表可以通过索引修改里面的元素
print (name_list[0], name_list[1])
# 输出:222 22

标签:name,05,数据类型,字符串,range,print,message,data,day
From: https://www.cnblogs.com/linzaidehouhuayuan/p/18054370

相关文章

  • Day1.numpy
    numpy数组的应用1.创建引入numpy库importnumpyasnp创建对象一维arr=np.array([1,2,3])二维arr=np.array([1,2,3],[4,5,6])#相当于一个二维数组2.常用属性T数组维度的转换dtype数据类型shape数组维度大小,如三行四列astype类型转换3.获取行列数arr......
  • flask_05days __蓝图
    蓝图#blueprint翻译过来的---》把项目分到多个py文件---》以后常用 -划分项目目录 蓝图小项目目录划分(只有一个app)大型项目-目录划分(多个app)——————————————————————————蓝图就是把我们应用目录的模块注册到Flask类,充当一个中间人的角色通过......
  • day56 动态规划part13 代码随想录算法训练营 674. 最长连续递增序列
    题目:674.最长连续递增序列我的感悟:网速快是不一样!!这个题别看简单,写不出递推公式也白搭理解难点:递推公式,是只跟昨天的比,如果没有,就重新计算!听课笔记:我的代码:classSolution:deffindLengthOfLCIS(self,nums:List[int])->int:dp=[1]*len(nums)......
  • day56 动态规划part13 代码随想录算法训练营 300. 最长递增子序列
    题目:300.最长递增子序列我的感悟:之前做过,都忘记了,这次好好记思路理解难点:dp[i]是由昨天的历史遍历后,得到今天的值 听课笔记:我的代码:classSolution:deflengthOfLIS(self,nums:List[int])->int:#难点是dp的推导公式,#dp[i]是截止到n......
  • 2.Python3 基本数据类型
    Python3基本数据类型python是弱类型语言,弱类型语言有两个特点:变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串。弱类型并不等于没有类型!弱类型是说在书写......
  • day55 动态规划part12 代码随想录算法训练营 714. 买卖股票的最佳时机含手续费
    题目:714.买卖股票的最佳时机含手续费我的感悟:终于能秒1道了理解难点:跟之前一样,多了一个手续费而已听课笔记:我的代码:classSolution:defmaxProfit(self,prices:List[int],fee:int)->int:#简单dp=[[0]*2for_inrange(len(prices))......
  • Day02——数组
    数组数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。关键点1线性表(LinearList):顾名思义,线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。非线性......
  • day55 动态规划part12 代码随想录算法训练营 309. 买卖股票的最佳时机含冷冻期
    题目:309.买卖股票的最佳时机含冷冻期我的感悟:网友讲的更好,更好理解。理解难点:冷冻期是i-2初始化dp【1】【0】是买入的用的最小消耗,max(-prices[0],-prices[1]) 听课笔记:听不懂,可以借鉴的是:卖的状态可以进一步拆分我的代码:classSolution:defmaxProfit(se......
  • day06-Mysql数据库
    Mysql一、概述1.1数据模型关系型数据库RDBMS,由多张二维表组成的数据库1.2SQLDDL:数据定义语言DML:数据操作语言DQL:数据查询语言DCL:数据控制语言,创建用户,控制数据库访问权限二、sql语句2.1DDL2.1.1查询:showdatabases;selectdatabase();2.1.2创建:createda......
  • day05-请求响应&分层耦合
    请求响应bs架构/cs架构bs架构:浏览器/服务器架构模式cs架构:客户端/服务器架构模式请求简单参数原始方式:HttpServletRequest对象获取SpringBoot:形参接收传递的简单参数(只需参数名与形参变量名保持一致即可,如果不一致使用RequestParam注解手动映射)实体参数声明对象,会自动......