Python3中关于数学类,随机数模块,字符串的相关操作,代码,以及用法简要分析(附简单例题)

一:数字类

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))  返回小数和整数部分 先小数  后整数
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中关于数学类,随机数模块,字符串的相关操作,代码,以及用法简要分析(附简单例题)_第1张图片   

 

练习题:

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)
              
    2.乘法运算只能与数字相乘,且并不是进行计算,而是乘以几就是在一行连续输出几次该字符串,字符串与字符串不能           相乘
       例:str1='123'
             print(str1*3)
             
    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的菜鸟,我只是把我每天学习的内容分享出来,由于水平还有限,一些题的解题方法,用目前所学的知识解起来都显得比较笨拙与复杂,不过也没办法,谁让这是老师的要求不能用后边的知识呢,毕竟用目前所学的知识解题有很大的局限性,随着课程的学习,我会回过头重新来过,用新的知识去写解题方法。如果我的笔记有任何问题,请及时与我联系,我会及时更改,谢谢。

你可能感兴趣的:(学习笔记,学习作业题)