欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python3关于数学类、随机数模块、字符串的相关操作、代码和用法分析讲解

程序员文章站 2022-03-20 13:19:39
一:数字类 abs() 绝对值 max(,,,...) 求最大值 例:max(a,b,c) 求a,b,c三个数的最大值 min(,,,...) 求最小值 例:max(a,b,...

一:数字类

abs() 绝对值

max(,,,...) 求最大值 例:max(a,b,c) 求a,b,c三个数的最大值

min(,,,...) 求最小值 例:max(a,b,c) 求a,b,c三个数的最小值

pow(a,b) a的b次方 例:pow(3,5) 求3的5次方

round(a,b) a的值四舍五入 a为数值 b为保留几位小数 例:round(3.14,1) 即 3.1 若不写b则保留整数

sum([]) 求和 传递的是一个列表 打印时 例: print(sum([1,2,3,4,5,6]))

二:模块

格式:import + 模块名(不能自己起,python3内置函数模块)

(1)math模块

import math 先引入matn()函数模块 下边才可以使用。

print(math.ceil(3.9)) ceil 向上取整 即3.9=4

print(math.floor(3.9)) floor 向下取整 即3.9=3

print(math.sqrt(8)) 求平方根

print(math.modf(3.14)) 返回小数和整数部分 先小数 后整数

Python3关于数学类、随机数模块、字符串的相关操作、代码和用法分析讲解

Python3关于数学类、随机数模块、字符串的相关操作、代码和用法分析讲解

print(math.pi) 3.14

(2)随机数模块

import random 先引入random()函数 下边才可使用

print(random.random()) 随机输出[0,1)之间的小数,取不到最大值1

print(random.randint(a,b)) 随机输出[a,b]之间的整数。可以取两边

print(random.randrange(a,b,c)) 随机输出[a,b)之间的整数,取不到最大值 只写一个数,默认从0开始到该数 字,c为步长,即每次的增加量。

print(random.uniform(a,b)) 随机输出[a,b)之间的小数

print(random.choice([1,2,'a','b'])) 随机输出列表中的一个

print(random.sample([1,2,"a","b"],n)) 随机输出列表中的n个 n应小于列表元素个数,不然报错

random.shuffle() 将列表中的元素随机打乱顺序后输出,括号内加列表名

Python3关于数学类、随机数模块、字符串的相关操作、代码和用法分析讲解

Python3关于数学类、随机数模块、字符串的相关操作、代码和用法分析讲解

练习题:

1.生成随机4-6位的验证码,由大写小写字母,数字构成

import random
num=random.randint(4,6)
n=1
while n<=num:
 b=random.choice('abcdefabcdef0123456789')
 print(b,end='')
 n+=1

2.从键盘输入一个数,与从1-100中间随机的数相比,大了输出你猜大了,相等输出你猜对了,小了输出你猜小了

import random
a=0
while true:
 b=random.randint(1,100)
 n=int(input('请先猜一个数:'))
 print(b)
 if n < b:
  print('猜小了')
 elif n > b:
  print('你猜大了')
 elif n == b:
  print('你猜中了')
  break
 a+=1
print('你总共猜了%d次'%a)

二:字符串

例:str='adadsafsdf'

访问字符串中的一个字符:print(str[8])

三:字符串运算

1.加法运算是拼接操作

例:str1='123'

str2='456'

print(str1+str2)

Python3关于数学类、随机数模块、字符串的相关操作、代码和用法分析讲解

2.乘法运算只能与数字相乘,且并不是进行计算,而是乘以几就是在一行连续输出几次该字符串,字符串与字符串不能 相乘

例:str1='123'

print(str1*3)

Python3关于数学类、随机数模块、字符串的相关操作、代码和用法分析讲解

3.获取字符串长度 print(len(str)) len()函数 pytho3内置函数 获取字符串长度

4.字符串查找:index()函数:根据元素查找下标 括号中写入你要查找的元素,当有该字符串中有多个相同元素时 找的 是从左到右第一个出现的该元素位置,若想从右往左找用rindex(),也可以指定位置查找 index('x',a,b)意思是在a-b范围内找元素x,不包含最大值

find()函数: 用法基本与index()函数一样,不同点是find找不到元素时输出-1,index()函数找不到时报 错

例:str1='hello wrold'

print(str1.index('o')) 4

print(str1.index('o',4,6)) 4

print(str1.rindex('o')) 8

print(str1.find('o')) 4

print(str1.rfind('o')) 8

print(str1.find('o',4,6)) 4

print(str1.find('x')) -1

print(str1.index('x')) 报错

四:字符串操作

1.截取(切片)

str='hello wrold'

print(str[a:b]) 截取从a-b之间的字符串,不包含最大值

print(str[:b]) 截取从0到b之间的字符串,不包含最大值

print(str[a:]) 截取从a到最后之间的字符串

print(str[a::b]) 截取从a到最后之间的字符串, a>0 正输出 a<0 反输出 b代表步长 b>0 正加 b<0 反加

截取升级版

str='***hello***'

print(str.strip())截掉两边空格,若两边不是以指定字符开头则不运行。

print(str.lstrip('*'))截掉字符串最左边的指定字符,若最左边不是以指定字符开头则不运行。

print(str.rstrip('*'))截掉字符串最右边的指定字符,若最右边不是以指定字符开头则不运行。

print(str.strip('*'))截掉字符串两边的指定字符,若两边不是以指定字符开头则不运行。

2.替换

str='你好,我好,大家好'

str1=str.replace('好','坏')# 后边带上数字的话就是替换几个 不写就是全部替换。

print(str1)

3.大小写转换

str='hello abc'

print(str.upper()) 字符串全部大写

print(str.lower()) 字符串全部小写

print(str.swapcase())大转小,小转大

print(str.title())将每个单词的首字母大写,其余小写

print(str.capitalize())将整个字符串的第一个字母大写,其余小写

4.拆分

str='hello wrold 你好 世界'

print(str.split(' ',1)) 1表示拆一个空格,一般情况下不写代表全部拆分

print(str.split('l')) 括号中代表你是按什么拆分 拆分后括号中内容将不存在

str1='hello\nwrold'

print(str1.splitlines())按换行符来拆分 无换行字符则不拆分

5.指定字符串长度

str='hello'

print(str.ljust(30,'*')) #指定字符串长度为30,不足则用指定内容填充,并且以左对齐

print(str.rjust(30,'*')) #指定字符串长度为30,不足则用指定内容填充,并且以右对齐

print(str.center(30,'*'))#指定字符串长度为30,不足则用指定内容填充,居中对齐

print(str.zfill(30))#指定字符串长度为30,不能指定填充内容,不足则用0填充,以右对齐

6.判断

str='helloworld'

print(str.startswith(''))#判断是否用指定的字符开头 是 true 不是 false

print(str.startswith('',a,b))#判断是否用指定的字符开头 是 true 不是 false a,b 范围

print(str.endswith(''))#判断是否用指定的字符结尾 是 true 不是 false

print(str.isalpha())#判断整个字符串是否全都为字母 是 true 不是 false

print(str.isalnum())#判断整个字符串是否全都为字母或数字 是 true 不是 false

print(str.isupper())#判断整个字符串的所有字母是否全都为大写 是 true 不是 false

print(str.islower())#判断整个字符串的所有字母是否全都为小写 是 true 不是 false

print(str.istitle())#判断每个单词的首字母是否全为大写 是 true 不是 false

print(str.isdigit())#判断整个字符串是否全都为数字 是 true 不是 false

print(str.isspace())#判断整个字符串是否全都为空格 是 true 不是 false

7.查找次数

str='aaa'

print(str.count('a'))#查找该字符在字符串中出现的次数

8.eval()相当于把字符串的引号给去掉了,但是前提字符串的内容必须是一个有效的表达式可以是数字,运算符号,但不能写字母,汉字

9.format()格式化输出

name='席'

age=20

print('姓名:{},年龄:{}'.format(name,age))

练习题:

1.写一个字符串,统计这个字符串中大写,小写,数字出现的次数

str=input('请输入字符串:')
dx=xx=sz=s=0
while s<=len(str):
 z=str[s:s+1]
 if  z.isupper()==true:
  dx += 1
 elif  z.islower()==true:
  xx += 1
 elif z.isdigit() == true:
  sz += 1
 s+=1
print(dx,xx,sz)

2.写一个字符串,取出字符串中所有数字,并求和

str=input('请输入字符串:')
sum=s=0
while s<=len(str):
 z=str[s:s+ 1]
 if z.isdigit() == true:
  sum+=int(z)
 s+=1
print(sum)

3.写一个字符串,取出这个字符串中重复的数据

str1=input("请输入字符串")
str2=""
str3=""
i=0
while i

4.请将一个字符串反转输出

str=input('请输入字符串:')
print(str[-1::-1])

5.用户输入一个字符串验证是不是手机号

str=input('请输入手机号码:')
if str.isdigit()==true and len(str)==11 and int(str[0:1])==1:
 print('是电话号码')
else:
 print('错误')

作为刚刚学习python3的菜鸟,我只是把我每天学习的内容分享出来,由于水平还有限,一些题的解题方法,用目前所学的知识解起来都比较复杂,不过也没办法,谁让这是老师的要求不能用后边的知识呢,毕竟用目前所学的知识解题有很大的局限性,随着课程的学习,我会回过头重新来过,用新的知识去写解题方法。如果我的笔记有任何问题,请及时与我联系,我会及时更改,谢谢。