python-05-字符串
01-情人节表白代码
import numpy as np
import matplotlib.pyplot as plt# 生成x坐标 -2到2范围 的 等差数列数组,数组元素一共1500个
x = np.linspace(-2, 2, 1500)# 上半部分爱心函数线段
y1 = np.sqrt(1 - (np.abs(x) - 1) ** 2)# 下半部分爱心函数线段
y2 = -3 * np.sqrt(1 - (np.abs(x) / 2) ** 0.5)# fill_between是填充线段内部的颜色
plt.fill_between(x, y1, color='red')
plt.fill_between(x, y2, color='red')# 控制x轴的范围
plt.xlim([-2.5, 2.5])# 生成文本,指定文本位置 ,字体大小
plt.text(0, -0.4, 'I love you!', fontsize=30, fontweight='bold', color='yellow', horizontalalignment='center')# 去除刻度
plt.axis('off')
plt.show()
缺少模块就:pip install 模块名
02-基础题
# 根据输入的百分制成绩打印`及格` 或者`不及格`,60分以下为不及格# 1. 使用input接收用户的输入内容
# 2. 使用float内置类,将接收到的字符串转换成为浮点数
# score = float(input('请输入您的成绩:'))
# # 3. 使用一个if...else语句来判断用户是否及格
# if score >= 60:
# print('恭喜你,及格了!')
# else:
# print('没及格,你个垃圾')# 根据输入的年龄打印`成年`或者`未成年`,18岁以下为未成年,如果年龄不在正常范围(0到150岁)内则打印`这不是人!`
# age = int(input('请输入您的年龄:'))
# if 150 >= age >= 0:
# # 年龄在正常范围
# if age < 18:
# print('未成年')
# else:
# print('成年')
# # print('未成年') if age < 18 else print('成年了')
# else:
# print('这不是人')# 输入两个整数,如果两个数相减的结果为奇数则输出该结果,否则输出提示信息`结果不是奇数`。
# 一个input接收一次用户的输入,如果想要接收多次用户的输入,使用多个input
# num1 = int(input('请输入一个数字:'))
# num2 = int(input('请再输入另一个数字:'))
# if (num1 - num2) % 2 != 0:
# print('两个数字相减的结果是奇数')
# else:
# print('两个数字相减的结果是', num1 - num2)# 用for循环输出 0到100内所有的奇数。
# for i in range(0, 101):
# # print(i) # 打印所有的数字
#
# # if i % 2 != 0: # 奇数才打印
# # print(i)
#
# if i % 2 == 0: # 偶数就不打印
# continue
# print(i)# 使用while循环输出0到100内所有的偶数。[0,100]
j = 0
while j <= 100: # 0~100if j % 2 == 0:print(j)j += 1
03-进阶题
# 使用循环计算出1到100求和的结果
# result = 0
# i = 0
# while i < 100:
# i += 1
# result += i
# print(result)
# r = 0
# for j in range(1, 101):
# r += j
# print(r)# 统计100以内个位数是2并且能够被3整除的数的个数
# count = 0 # 定义一个变量来表示个数
# for i in range(1, 101):
# if i % 10 == 2 and i % 3 == 0:
# count += 1 # 只要发现了一个符合要求的数字,就把计数器加1
# print(i)
# print('满足条件的数字的个数是', count, '个')# 输入任意一个正整数,求它是几位数
# num = int(input('请输入一个整数:')) # 34282
# count = 0 # 表示个数
# while True:
# count += 1
# num //= 10
# if num == 0:
# break
# print('您输入的数字是', count, '位数')# 打印所有的水仙花数
for i in range(100, 1000): # 456除以10,商是45,余数是6ge = i % 10shi = i // 10 % 10bai = i // 100if ge ** 3 + shi ** 3 + bai ** 3 == i:print(i)# 写一个程序可以不断的输入内容,如果输入的内容是exit,打印`程序结束`后结束该程序
# while True:
# content = input('请输入内容:')
# if content == 'exit':
# print('程序结束')
# break
04-for...else求素数
# 素数也叫质数,除了1和它本身以外,不能再被其他的任何数整除
# 求2到100的合数(1既不是质数,也不是合数;2是质数)
for i in range(2, 101): # i=105for j in range(2, int(i ** 0.5)+1): # range(2,105) 从2取到104 2 3if i % j == 0: # i 除以某一个数字,除尽了,i是合数# print(i, '是合数')break # break放在内循环里,用来结束内循环else:# for...else语句:当循环里的break没有被执行的时候,就会执行elseprint(i, '是质数')#int(i/2)这个也行
s=1.6556
print(int(s)) #1
05-假设成立法求素数
# 2-100
for i in range(2, 101):# i = 11flag = True # 每次都假设 i 是一个质数for j in range(2, int(i ** 0.5) + 1):if i % j == 0:# 除尽了,说明 i 是个合数flag = Falsebreakif flag: # if flag == True:print(i, '是质数')
06-使用计数法求素数
for i in range(2, 101): # 12count = 0 # 假设这个数能被0个数字整除for j in range(2, i): # 2 3 4 6if i % j == 0:# 除尽了,是合数count += 1if count == 0:print(i, '是一个质数')else:print(i, '是一个合数,它能被', count, '个数字整除')
07- 求斐波那契数
# 求斐波那契数列中第n个数的值,n是正整数
n = int(input('请输入您要第几个斐波那契数:'))
# 求斐波那契数里第 12 个数
# 1,1,2,3,5,8,13,21,34,55,89,144
num1 = 1
num2 = 1# 第3个交换1
# 第4个交换2
# 第5个交换3
# 第n个交换n-2
for i in range(0, n - 2):a = num1num1 = num2num2 = a + num2print(num2)
08-九九乘法表
# j = 0
# while j < 9:
# j += 1
# i = 0
# while i < j:
# i += 1
# print(i, '*', j, '=', i * j, end='\t', sep='')
# print()for i in range(1, 10):for j in range(1, i + 1):print(j, '*', i, '=', i * j, end='\t', sep='')print()
09-马的问题
# "百马百担"问题:一匹大马能驮3担货,一匹中马能驮2担货,两匹小马能驮1担货,如果用一百匹马驮一百担货,问有大、中、小马各几匹?
# 假设大马有x,假设中马有y,小马 100 - x - y
for x in range(0, 100 // 3 + 1):for y in range(0, 100 // 2 + 1):if 3 * x + 2 * y + (100 - x - y) * 0.5 == 100:print(x, y, (100 - x - y))
10-珠峰问题
# 一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)
height = 0.08 / 1000
count = 0
while True:height *= 2count += 1if height >= 8848.13:breakprint(count)
11-字符串的表示方式
# 在Python里,可以使用一对单引号、对双引号或者一对三个双引号、一对三个单引号
a = 'hello'
b = "good"
c = """呵呵呵"""
d = '''嘿嘿嘿'''# 如果字符串里还有双引号,外面就可以使用单引号
m = 'xiaoming said :"I am xiaoming"'
n = "I'm xiaoming"
p = """ xiaomig said :"I am xiaoming" """# 字符串里的转义字符 \# \' ==> 显示一个普通的单引号
# \" ==> 显示一个普通的双引号
# \n ==> 表示一个换行
# \t ==> 表示显示一个制表符
# \\ ==> 表示一个普通的反斜线x = 'I\'m xiaoming' # \ 表示的是转义字符,作用是对 \ 后面的字符进行转义
y = "xiaoming said:\"I am xiaoming\""
z = 'hello \n world'
print(z)x1 = '你好\t世界'
print(x1)x2 = 'good mor\\ning' # good mor\ning
print(x2)# 在字符串的前面添加 r 在Python里表示的是原生字符串
x3 = r'hello \teacher'
print(x3)
# 字符串里的转义字符 \# \' ==> 显示一个普通的单引号 # \" ==> 显示一个普通的双引号 # \n ==> 表示一个换行 # \t ==> 表示显示一个制表符 # \\ ==> 表示一个普通的反斜线
12-字符串的下标和切片
# 下标我们又称之为索引,表示第几个数据。# 可迭代对象: str list tuple dict set range 都可以便利
# str list tuple 可以通过下标来获取或者操作数据# 在计算机里,下标都是从 0 开始的。
word = 'zhangsan' # 字符串:一个一个的字符串在一起
# 可以通过下标来获取或者修改指定位置的数据
print(word[4])# 字符串是不可变的数据类型
# 对于字符串的任何操作,都不会改变原有的字符串!!!
# word[4] = 'x'# 切片就是从字符串里复制一段指定的内容,生成一个新的字符串
m = 'abcdefghijklmnopqrstuvwxyz'
print(m[5]) # m[index] ==> 获取指定下标上的数据# 切片语法 m[start:end:step]
# 包含start,不包含end
# step 指的是步长,理解为间隔。每隔 step-1 个取一次
# step 为负数,表示从右往左获取print(m[2:9]) # 包含start,不包含end
print(m[2:]) # 如果只设置了start,会"截取"到最后
print(m[:9]) # 如果值设置了end,会从头开始"截取"# 步长默认为 1
print(m[3:15:2]) # dfhjln
print(m[3:15:1]) # defghijklmno
# print(m[3:15:0]) # 步长不能为0
print('------------------')
# print(m[3:15:-1]) # 没有数据
print(m[15:3:-1]) # ponmlkjihgfe
print(m[::]) # abcdefghijklmnopqrstuvwxyz 从头到尾复制
print(m[::-1]) # zyxwvutsrqponmlkjihgfedcba# start和end如果是负数,表示从右边数
print(m[-9:-5]) # rstu
# 切片语法 m[start:end:step] # 包含start,不包含end # step 指的是步长,理解为间隔。每隔 step-1 个取一次 # step 为负数,表示从右往左获取
13-字符串常见的操作
x = 'abcdefghijklmndsfasdfsadfadl'# 使用内置函数 len 可以获取字符串的长度
print(len(x))# 查找内容相关的方法 find/index/rfind/rindex 可以获取指定字符的下标
print(x.find('l')) # 11
print(x.index('l')) # 11print(x.find('p')) # -1 如果字符在字符串里不存在,结果是 -1
# print(x.index('p')) # 使用index,如果字符不存在,会报错print(x.find('l', 4, 9))print(x.rfind('l'))
print(x.rindex('l'))# startswith,endswith,isalpha,isdigit,isalnum,isspace
# is开头的是判断,结果是一个布尔类型
print('hello'.startswith('he')) # True
print('hello'.endswith('o')) # True
print('he45llo'.isalpha()) # False alpha字母
print('good'.isdigit()) # False
print('123'.isdigit()) # True
print('3.14'.isdigit()) # False# alnum 判断是否由数字和字母组成
print('ab12hello'.isalnum()) # True
print('hello'.isalnum()) # True
print('1234'.isalnum()) # True
print('4 - 1'.isalnum()) # Falseprint('h o'.isspace()) # False# num = input('请输入一个数字:')
# if num.isdigit():
# num = int(num)
# else:
# print('您输入的不是一个数字')# replace方法:用来替换字符串
word = 'hello'
m = word.replace('l', 'x') # replace 将字符串里 l 替换成 x
print(word) # hello 字符串是不可变数据类型!!!
print(m) # hexxo 原来的字符串不会改变,而是生成一个新的字符串来保存替换后的结果
14-内容分割相关的操作
# split rsplit splitlines partition rpartition# 字符串类型的数据
x = 'zhangsan-lisi-wangwu-jerry-henry-merry-jack-tony'
# ['zhangsan','lisi','wangwu','jerry','henry','merry','jack','tony']
# 使用split方法,可以将一个字符串切割成一个列表
y = x.split('-')
print(x)
print(y) # 切割以后的结果就是一个列表z = x.rsplit('-')
print(z)print(x.split('-', 2))
print(x.rsplit('-', 2))# partition 指定一个字符串作为分隔符,分为三部分
# 前面 分隔符 后面
print('abcdefXmpXqrst'.partition('X')) # ('abcdef', 'X', 'mpXqrst')
print('abcdefXmpXqrst'.rpartition('X')) # ('abcdefXmp', 'X', 'qrst')# 获取文件名和后缀名
file_name = '2020.2.14拍摄不要打开.mp4'
print(file_name.rpartition('.'))
python-05-字符串相关推荐
- 实用Python之字符串长度计算
实用Python之字符串长度计算 ** 相信在很多时候,大家都会遇到一些字符串的处理,比如你想知道一个常常的字符串到底有多长.很多人可能想到的第一想法就是把这个字符串写入到工程项目中,然后Log打印 ...
- Python格式化字符串字面值 | 被官方文档称之为『漂亮』的输出格式
Python格式化字符串字面值 | 被官方文档称之为『漂亮』的输出格式 本文参考输入输出 - Python 3.7.10 文档.首先声明咱的实验环境. ❯ python --version Pytho ...
- Python 将字符串转为字典
引言 在工作中遇到一个小问题,需要将一个 Python 的字符串转为字典,比如字符串: user_info = '{"name" : "john", " ...
- python 遍历字符串
python 遍历字符串, 可以把字符串当作列表 来遍历即可 第一种方法使用for in 循环 # 使用for in str_a = "Hello,Python" for i in ...
- python删除指定位置的字符串_python去除区域 python删除字符串中指定位置字符
python删除字符串中指定位置字符 原程序是这样的: ser = serial.Serial("/dev/ttyAMA0", 9600) def main字符串的话,你可以把他当 ...
- python 遍历字符串的每一个字符_Python之字符串的遍历的4种方式
python的字符串遍历有4种方式: 1. 下标法 2. for in 3. iter内置函数 4. enumerate 其中下标法和enumerate适合需要判断后续字符的场景,比如循环到下标ind ...
- python输入字符串转换为公式_将python字符串转化成长表达式的函数eval实例
爬一个网页时,要保存的数据都没有encode,就导致保存下来的中文都变成unicode了... 那么,怎么把一个表示字符串的unicode还原成unicode呢? 函数eval(expression) ...
- python 替换字符串中的元素
python 替换字符串中的元素 def str_replace(old_str,old,new):"""在 old_str 字符串中,把 old 替换成 new:par ...
- python xml字符串和dict字典互转
python xml字符串和dict字典互转 字典 转 xml def trans_dict_to_xml(data_dict):"""字典转xml:param data ...
- python 判断字符串是否包含另一个字符串_强烈推荐:Python字符串(string)方法整理(一)...
作者:骏马金龙 原文地址: https://www.cnblogs.com/f-ck-need-u/p/9127699.html python中字符串对象提供了很多方法来操作字符串,功能相当丰富. p ...
最新文章
- 微信小程序爬虫python_爬虫爬取微信小程序
- 推荐系统笔记:矩阵分解+基于邻居的模型
- boost::geometry::segment_intersection_points用法的测试程序
- OSPF Unicast Multicast and Network Type(OSPF的单播多播与网络类型辩析)
- 并查集路径压缩_并查集(UnionFind)技巧总结
- Optical_Flow(2)
- element 方法返回的boolean被当成字符串了_JavaScript 原生对象、属性、方法、事件、事件参数...
- MATLAB中的max函数的用法及含义
- 如何获取高质量 CV 训练数据?这个超详细上手教程不容错过
- 李彦宏站台的世界首家 AI 公园就有啥?怎么去?
- qml中对于动态遮照效果的封装
- kill 进程_如果有个进程kill 9杀不掉,怎么办?
- Intellij IDEA创建第一个项目的视频
- python处理一段话,使他只存在英文,和数字
- oracle数据库的关于建表的sql语句练习
- PLC通讯实现-C#实现欧姆龙以太网通讯FINS(二)
- 如何查看.net core 最新版本的功能
- 7月20日到12月3日
- openlayers6【十】EPSG:3857和EPSG:4326区别详解
- Linux 根目录爆满
热门文章
- NDK JNI JavaVM、JNIEnv和jobject的理解
- h5页面时间日期 在苹果手机出错 解决方法
- android 节电助手,一加手机2氢OS节电助手、打扰功能的开启设置图文教程
- 【尖端干货】H.264编码下直播视频添加水印的优化
- c语言中的值传递和地址传递参数,c语言值传递,地址传递,引用传递
- 年报时显示服务器信息不符,工商年报登陆为什么显示验证码获取失败
- java.util.Collections		空集合
- 如何画好一张架构图? | 凌云时刻
- 利用Python将多个excel文件合并为一个文件
- InstallShield安装包卸载-完美卸载