03-string字符串和while循环
→→博主新网站,点击跳转←←
03-string字符串和while循环
1. string介绍
python中字符串通常以单引号或者双引号来创建,是计算机语言中最常见的数据类型
string不可变,即如果修改,将会重新分配内存地址
a = "sense"
print(id(a))
a += "2"
print(id(a)) 输出:
3227798249968
3227799102664
2. 字符串的运算
字符串相加:也就是字符串拼接
a = "sense"
b = "wang"
c = a + b
print(c) 输出:
sensewang #如果是数字呢
字符串乘法: 也就是重复字符串n次,它是和整数相乘的
a = "hello world\n" #\n为换行符
print(a*4) 输出:
hello world
hello world
hello world
hello world
字符串大小的比较:根据ASCII值比较
3. 下标及分片
下标:也称为索引,通常表示某个字符在整个字符串中的位置,下标从0开始,下标写在[]中
a = "senSe"
# 取n
print(a[2])
# 取第小s
print(a[0]) 输出:
n
s
分片:也称为切片,通常获取字符串的一部分内容,将序列按段分割
- 实例(使用IPython):
# 格式:[(index_start):(index_end):(Step_length)],开始索引,结束索引,步长 In [1]: string = 'abcdefgh'
In [2]: string[0:2] #取0~2之间的下标,不包括下标2,[0,2),默认步长为1
Out[2]: 'ab'
In [3]: string[0:6:2] #取0~6之间的下标,步长为2,不包含6下标
Out[3]: 'ace'
In [4]: string[2:] #取从2下标以后的所有元素,包括下标2
Out[4]: 'cdefgh'
In [5]: string[:2] #取从下标2以前的所有元素,不包下标2
Out[5]: 'ab'
In [6]: string[:] #取全部元素
Out[6]: 'abcdefgh'
In [7]: string[::2] #取步长为2的全部元素,
Out[7]: 'aceg'
In [8]: string[::-1] #取反转后的全部元素
Out[8]: 'hgfedcba'
In [9]: string[::-3] #取步长为3的全部反转元素
Out[9]: 'heb'
In [10]: string[-2] #取倒数第二个元素
Out[10]: 'g'
In [11]: string[-5:-2] #取从倒数第五个以后到倒数第二个的下标,不包括倒数第五个
Out[11]: 'def'
4. 格式化输出
当想要让数据按照指定的格式输出,需要在字符串中进行格式说明,格式说明由格式字符组成,常见的格式字符如下:
格式字符 描述 %s 格式化字符串 %d 格式化整数 %f 格式化小数 实例:
name = "sense"
age = 18
height = 175.5
print("我的名字是%s,年龄%d岁,身高%.2fcm" % (name,age,height)) #.2表示保留两位小数 输出:
我的名字是sense,年龄18岁,身高175.50cm
5. f-string格式化输出用法
python3.6后引入的新型格式化输出工具,功能更加强大,而且容易上手
该工具把字符串当成一个模板,通过传入的参数进行格式化,以f或者F为修饰符,以{}标明被替换的字段
实例:
name = "sense"
age = 18
height = 175.5
d = {"name":"sense","age":18}
print(f"我的名字是{name},年龄为{age},身高{height}cm.")
print(f"{d['name']},{d['age']}") #还可以对自动进行输出
print(f'{age+2}') #还可以进行数学运算 输出:
我的名字是sense,年龄为18,身高175.5cm.
sense,18
20
6. 字符串方法
因为字符串为最常见的数据类型,所以众多方法也应运而生,包含对字符串的更改、转换、代替等
字符串大小写转换方法
方法名 描述 lower() 把字符串中的英文转为小写 upper() 把字符串中的英文转为大写 swapcase() 把字符串中的大写英文转为小写,小写转为大写 capitalize() 首字母大写,其余小写 title() 每个单词首字母大写 字符串位置整理方法
方法名 描述 center(x,str) 把字符串居中显示,总长度x,填充符为str ljust(x,str) 把字符串左方显示,总长度x,填充符为str rjust(x,str) 把字符串右方显示,总长度x,填充符为str 查找字符串方法
方法名 描述 find(str,num1,num2) 从左到右查找str的位置,可以指定范围:num1为开始位置,num2为结束位置,找不到返回-1 rfind(str,num1,num2) 从右到左查找str的位置,可以指定范围:num1为开始位置,num2为结束位置,找不到返回-1 index(str,num1,num2) 从左到右查找str的位置,可以指定范围:num1为开始位置,num2为结束位置,找不到抛错 rindex(str,num1,num2) 从右到左查找str的位置,可以指定范围:num1为开始位置,num2为结束位置,找不到抛错 截取、分割字符串方法
方法名 描述 lstrip(str) 截掉字符串左侧括号中指定的字符,默认字符是空格 rstrip() 截掉字符串右侧括号中指定的字符,默认字符是空格 split(str) 以str为分割符分割字符串,最后返回list splitlines(keepends=False) 以行为分割符分割字符串,最后返回list,keepends为True时保留换行符 判断字符串方法
方法名 描述 isalpha() 判断字符串中至少有一个字符,且所有的字符都是字母,则会返回True isalnum() 判断字符串中至少有一个字符,且所有的字符都是数字或字母,则会返回True istitle() 判断字符串是标题化,则返回True,反之返回False,即只有每个单词首字母大写 isdigit() 判断字符串只能为数字返回True,反之返回False isspace() 判断字符串只为空格 startwith(str,num1,num2) 判断字符串是否以str开头、num1,num2用于指定范围,不指定范围默认为全部 endwith(str,num1,num2) 判断字符串是否以str结尾、num1,num2用于指定范围,不指定范围默认为全部 字符串其他方法
方法名 描述 len(string) 返回字符串的长度(字符个数) eval(string) 将字符串当成有效表达式求值并返回结果,结果为int count(str,num1,num2) 统计字符串中str出现的次数,num1,num2用于指定范围 replace(old,new,num1) 替换字符串中的字符,num1用于指定替换次数 encode(encoding) 为字符串指定字符编码
7. 布尔值,空值
- 布尔值:True和False,代表真和假,主要用于判断
- 空值:None,一个特殊值,代表无,并不代表0
8. while循环
根据指定条件来循环执行对应的语句,如果条件一直满足,则一直执行
普通while格式
while 条件表达式:
语句
while-else语句:当while的条件不满足后,将会执行else对应的语句
while 条件表达式:
语句
else:
语句2
while循环小案例:
#猜数字小游戏----10次机会在0~10之间猜数,最后统计猜对的次数
import random
times = 0
count = 0
while times < 5: #当times小于5时,就会一直循环
num = random.randint(0,5)
input_str = int(input("请猜数:"))
times += 1 #每次循环到此处,times就+1,这也是能让循环停止的条件
if input_str == num:
print("猜对了!")
count += 1
else:
print("猜错了!")
print(f"共猜对{count}次")
03-string字符串和while循环的更多相关文章
- JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)
String对象(*) length属性:获取字符串的字符个数.(无论中文字符还是英文字符都算1个字符.) charAt(index)方法:获取指定索引位置的字符.(索引从0开始) indexOf(‘ ...
- Redis学习03——存储字符串(String)
--------------------- 作者:愤怒的小明 来源:CSDN 原文:https://blog.csdn.net/qiwenmingshiwo/article/details/78118 ...
- 漫话C++之string字符串类的使用(有汇编分析)
C++中并不提倡继续使用C风格的字符串,而是为字符串定义了专门的类,名为string. 使用前的准备工作 在使用string类型时,需要包含string头文件,且string位于std命名空间内: # ...
- C++学习37 string字符串的访问和拼接
访问字符串中的字符 string 字符串也可以像字符串数组一样按照下标来访问其中的每一个字符.string 字符串的起始下标仍是从 0 开始.请看下面的代码: #include <iostrea ...
- 【转】String字符串相加的问题
String字符串相加的问题 前几天同事跟我说我之前写的代码中在操作字符串时候,使用字符串相加的方式而不是使用StringBuffer或者StringBuilder导致内存开销很大.这个问题一直在困扰 ...
- 17.C++-string字符串类(详解)
C++字符串string类 在C语言里,字符串是用字符数组来表示的,而对于应用层而言,会经常用到字符串,而继续使用字符数组,就使得效率非常低. 所以在C++标准库里,通过类string从新自定义了字符 ...
- 集合或数组转成String字符串
1.将集合转成String字符串 String s=""; for (int i = 0; i < numList.size(); i++) { if (s=="& ...
- C# int数组转string字符串
方式一:通过循环数组拼接的方式: int[] types = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; string result = string.Empty ...
- Java常用API——String字符串运算
一.字符串运算 String类 1.概述 String是特殊的引用数据类型,它是final类. 2.构造方法 String str = "abc"; 相当于: char date ...
- js比较两个String字符串找出不同,并将不同处高亮显示
根据java代码改写成js,下边js文件代码: function StringBuffer() { this.__strings__ = []; }; StringBuffer.prototype.a ...
随机推荐
- 吴裕雄--天生自然C++语言学习笔记:C++ STL 教程
C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量.链表.队列.栈. C++ 标准模板库的核心包括以 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-edit
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- String的Split使用方法(以特定字符分隔,提取所需信息)
此处复制一串以空格分隔的数字,提取数字进行排序 int[] a = new int[10]; string input = Console.ReadLine();//获取用户输入的字符串 char[] ...
- 【shell】常用shell脚本
1.检查主机存活状态 #!/bin/bash IP_LIST="192.168.18.1 192.168.1.1 192.168.18.2" for IP in $IP_LIST; ...
- jquery播放mp3
$("button").on("click",function(){ $('embed').remove(); $('body'). ...
- PHP ~ 设置和读取 Cookie
一,设置 Cookie setcookie("user",$user,time()+3600); // user 为用户名,$user 为变量的值 二,读取 Cooki ...
- maven 依赖报错
1 maven项目,在Intellij 右侧 Maven projects - Lifecycle - clean , validate, compile, ….,右击clean,选中Run ‘pro ...
- CentOS7.7安装python3.8.2与pip20
1.安装第三方库 # yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-deve ...
- 05 GUI UGUI
在Unity开发过程中,不论是3D还是2D开发都需要大量的UI界面来配合使用,用来达到更好的效果 GUI:在Unity脚本生命周期回调方法OnGUI中实现,每一帧渲染两次,在OnGUI中的GUI界面元 ...
- (简单模拟)P1003 铺地毯
题解: 从最后一个输入的数据开始排查,如果说你找到了这个点上面有地毯,那么就直接输出这个值,如果没找到就按照题干的意思输出-1. #include<iostream>#include< ...