iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python学习(13)
  • 284
分享到

python学习(13)

python 2023-01-31 04:01:49 284人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

random.unifORM(a,b)随机生成a,b之间的一个浮点数 random.uniform(1,20)1.0130916166719703 习题1:生成[“z1”,”y2”,”x3”,”w4”,”v5”] #coding

random.unifORM(a,b)
随机生成a,b之间的一个浮点数

random.uniform(1,20)
1.0130916166719703

习题1:生成[“z1”,”y2”,”x3”,”w4”,”v5”]

#coding=utf-8
result = []
for i in range(1,6):
    result.append(chr(122-i+1)+str(i))
print(result) 

#coding=utf-8
result = []
for i in range(1,6):
result.append(chr(97+i-1)+str(i))
print(result)

习题2:拼接一个字符串的首字母、末尾字母、中间字母为一个字符串
要考虑奇数偶数长度,如果只有1个2个字母的字符串

方式1:直接拼字符串

s = "abcdefghig"

result_str = ""
result_str += s[0]

if len(s)%2 == 1:
    middle_letter = s[len(s)//2]
else:
    middle_letter = s[len(s)//2-1]
    middle_letter += s[len(s)//2]

print(middle_letter)
result_str += middle_letter

result_str += s[-1]

print("拼接后的字符串: ",result_str)

方式2:利用列表

def join_str(s):
    result = []
    result.append(s[0])

    if len(s)%2==1:
        result.append(s[len(s)//2])
    else:
        result.append(s[len(s)//2-1])
        result.append(s[len(s)//2])

    result.append(s[-1])
    return "".join(result)

s = "abcdefghig"
s2 = "abcdefghi"
print("拼接后的字符串: ",join_str(s))
print("拼接后的字符串: ",join_st

切片没有越界

s = "a"
s[5:] #没有越界
''
s[5]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range

a = [1]
a[0:1] = [1,2,3,4]
a
[1, 2, 3, 4]
a =[1]
a[0:2] = [1,2,3,4]
a
[1, 2, 3, 4]

a = [1]
a[0]
1
a[0] = [1,2,3,4]
a
[[1, 2, 3, 4]]

a = [1]
a[0:7]
[1]
a[0:7] = [1,2,3,4]
a
[1, 2, 3, 4]

a
[1, 2, 3, 4]
a[0:2] = [7,8,9,10]
a
[7, 8, 9, 10, 3, 4]

a[0] = [55,66]
a
[[55, 66], 8, 9, 10, 3, 4]

a[0:5] = [1]
a
[1, 4]

习题3:S = “i am, a boy ”把boy替换为m
利用切片赋值特性

算法:先把字符串转换为列表
遍历列表,找到boy字符串
替换boy字符串为m

#coding=utf-8
s = "i am, a    boy!!"

list_s = list(s)
sub_length = len("boy")

for i in range(len(list_s)):
    if "".join(list_s[i:i+sub_length]) == "boy":
        list_s[i:i+sub_length] = "m"#可以用切片直接替换
print("".join(list_s)) 

习题4:非递归实现生成斐波那契数列

#coding=utf-8
def fib(n):
    result = []
    if n <=0 or not isinstance(n,int):
        return result
    for i in range(n):
        if i < 2:
            result.append(1)
        else:
            result.append(result[i-1] +  result[i-2])
    return result
print("斐波那契数列: ",fib(5))
print("斐波那契数列: ",fib(-2))

习题5:非递归实现求第n项斐波那契数列值
算法:遍历n,如果n等于0或1直接返回1
如果n >=2,记录前面两个项的和,并重新记录新的第1个,第2个数;


#coding=utf-8
def fib(n):

    a,b=1,1
    sum = 0
    if n <=0 or not isinstance(n,int):
        return -1
    for i in range(n):
        if i < 2:
            sum = 1
        else:
            sum = a + b
            a = b
            b = sum
    return sum

print(fib(5))

习题6:递归求两个数的最大公约数
方式1:

算法:

找出两个数的较小数(第一次)
如果两个数除以较小数余数都等于0的话,添加到一个列表中
不然的话继续调用函数自身,并且num-1传入到num参数中。

def max_common_divisor(a,b,num=0,result=[]):

    if num == 0:
        if a < b:
            num = a
        else:
            num = b

    if a%num == 0 and b%num == 0:
        print(result)
        result.append(num)
    else:

       max_common_divisor(a,b,num-1)

    return result#函数递归调用结束后才会执行此代码

print(max_common_divisor(24,120))    

      

方式2:更相减损法

def get(small,big):
    if small > big:
        small,big = big,small

    if small == big:
        return small

    return get(small,big-small)

print(get(30,24))

方式3:辗转相除法

def gain(small, big):
    if small > big:
        small, big = big, small
    if small == 0:
        return big
    return gain(small, big % small)

习题7:利用递归,处理嵌套列表,生成列表[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
定义全局变量:(尽量不使用全局变量)

l = [1,2,[3,4,[5,6,7,[8,9,[10,11]]]]]
result  = []
def func(p):
    global result
    for v in p:
        if not isinstance(v,list):
            result.append(v)
        else:
            func(v)
    return result
print(func(l))

引用传参:

def get_list(l,result=[]):
    for v in l:
        if not isinstance(v,list):
            result.append(v)
        else:
            get_list(v)
    return result

l = [1,2,[3,4,[5,6,7,[8,9,[10,11]]]]]
print(get_list(l))

--结束END--

本文标题: python学习(13)

本文链接: https://www.lsjlt.com/news/188033.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python学习(13)
    random.uniform(a,b)随机生成a,b之间的一个浮点数 random.uniform(1,20)1.0130916166719703 习题1:生成[“z1”,”y2”,”x3”,”w4”,”v5”] #coding...
    99+
    2023-01-31
    python
  • python学习笔记13-python面
    python学习笔记12-python面向对象python一切皆对象一、基本概念1、面向对象和面向过程面向对象编程:C++,Java,Python面向过程编程:函数式编程,C程序等2、类和对象类:是对事物的抽象,比如:人类,球类对象:是类的...
    99+
    2023-01-31
    学习笔记 python
  • mysql学习13:第八章:锁
      1.   锁 InnoDB支持行锁,有时升级为表锁。 MyISAM只支持表锁。 表锁:开小小,加锁快,不会出现死锁;锁粒度大,锁冲突概率高,并发度低。 ...
    99+
    2024-04-02
  • Java知识学习13(AQS详解)
    1、AQS介绍? AQS 的全称为 AbstractQueuedSynchronizer ,翻译过来的意思就是抽象队列同步器。这个类在 java.util.concurrent.locks 包下面。 ...
    99+
    2023-09-03
    java
  • Python学习
    Python是创始人吉多•范罗苏姆(Guido van Rossum)在1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,而在给自己新创造的计算机语言起名字的时候,由于其是,自于七十年代风靡全球的英国六...
    99+
    2023-01-31
    Python
  • 学习python
    亲爱的朋友:     欢迎你!很高兴能在这里见到你,你能来到这里说明你真的很喜欢python,很想把python给学好!我觉的你很幸运,开始我学python的时候比较少资料,学起来也比较头疼,现在随着python越来越流行,资料也越来越多,...
    99+
    2023-01-31
    python
  • Python 学习
    第一次学习python查阅的资料一,熟悉基本在正式介绍python之前,了解下面两个基本操作对后面的学习是有好处的:1)基本的输入输出 可以在Python中使用+、-、*、/直接进行四则运算。11+3*3查看全部10(2)导入模块 使用im...
    99+
    2023-01-31
    Python
  • 【Java从0到1学习】13 Java IO流
    1. 流 1.1 流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。 一个流,必有源端和目的端,它们可以是计算机内存的某...
    99+
    2023-08-30
    java 学习
  • Python学习:Python form
    从Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。 相对基本格式化输出采用‘%’的方法,format()功能更强大,该...
    99+
    2023-01-31
    Python form
  • python学习笔记--趣学Python
    由反弹球和球拍构成的游戏。球会在屏幕上飞过来,玩家要用球拍把它弹回去 画布和画弹球 引入模块 #Tkinter -- Python的标准GUI库,Tk 接口,是python 内置的安装包 from tkinter import * i...
    99+
    2023-01-31
    学习笔记 python Python
  • python学习(day3)
    1、集合的使用:#1、集合的操作: list_1 = [1,4,5,7,3,6,7,9] list_1 = set(list_1)#创建集合 list_2 = set([2,6,0,22,66,8,4]) print(list_1,typ...
    99+
    2023-01-31
    python
  • Python学习day01
    age = 23 count=0 while count<3: guess_age = int (input("My age:")) if age ==guess_age: print("n...
    99+
    2023-01-30
    Python
  • python学习_18
    字典字典是无序的字典的key只能是不可变对象,不能是list dict创建字典创建空字典,并赋值 d = {}d["name"] = "huhongqiang"d["sex"] = "M"d["height"] = 170d{'nam...
    99+
    2023-01-31
    python
  • python学习(8)
    退出双层循环:方式1:try--except try: for i in range(5): for j in range(5): if i==3 and j ==3: ...
    99+
    2023-01-31
    python
  • Python学习-logging
    Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志。logging的日志可以分为debug(),info(),warning(),error()和...
    99+
    2023-01-31
    Python logging
  • python学习:Indentation
    Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。在编译时会出现这样的错Indent...
    99+
    2023-01-31
    python Indentation
  • python学习--DataFrame
    目录 一、DataFrame对象的创建 1、根据列表创建: 情况1:由二维列表 情况2:由元组tuple组成的列表 情况3:由字典dict组成的列表 情况4:由数组array组成的列表 情况5:由序列series组成的列表 2、根据字典创...
    99+
    2023-10-02
    python 开发语言 pandas
  • Python学习 (1)
    一、基本语法: import 与 from...import 在 python中 用import 或者from...import 来导入相应的模块。 将整个模块(somemodule)导入,格式为:import somemodule 从...
    99+
    2023-01-30
    Python
  • python学习(day4)
    1、装饰器:''' 实现装饰器只是储备: 1、函数即“变量” 2、高阶函数 3、嵌套函数 高阶函数+嵌套函数=》装饰器 ''' import time def timmer(func):     def warpper(*args,**k...
    99+
    2023-01-31
    python
  • Python学习教程(Python学习路线):Python——SciPy精讲
    Python学习教程(Python学习路线):Python——SciPy精讲SciPy 是 Python 里处理科学计算 (scientific computing) 的包,使用它遇到问题可访问它的官网 (https://www.scipy...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作