欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)斐波那契數(shù)列的多種寫法總結(jié)

 更新時間:2022年07月28日 14:30:19   作者:lxw-pro  
這篇文章主要給大家介紹了利用Python實現(xiàn)斐波那契數(shù)列的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

斐波那契數(shù)列——經(jīng)典例子,永不過時?。?!

1.for循環(huán)

def fibonacci1(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a+b
        print(a)


fibonacci1(3)

def fib1(w):
    a, b = 1, 1
    for i in range(w-1):
        a, b = b, a+b
    return a
???????
print(fib1(3))

[^1]剛好得出這個位置的數(shù)

2.while循環(huán)

def fibnaqi2(m):
    a, b = 0, 1
    i = 0
    while i < m:
        print(b)
        a, b = b, a+b
        i += 1

fibnaqi2(4)

[^1]剛好得出這個位置的數(shù)

3.使用遞歸

def fib2(q):
    if q == 1 or q == 2:
        return 1
    return fib2(q-1)+fib2(q-2)
???????
print(fib2(9))

4.遞歸+for循環(huán)

def fibnacci3(p):
    lst = []
    for i in range(p):
        if i == 1 or i == 0:
            lst.append(1)
        else:
            lst.append(lst[i-1]+lst[i-2])
    print(lst)

fibnacci3(5)

5.遞歸+while循環(huán)

def fibnacci4(k):
    lis = []
    i = 0
    while i<k:
        if i == 0 or i == 1:
            lis.append(1)
        else:
            lis.append(lis[i-2]+lis[i-1])
        i += 1
    print(lis)

fibnacci4(6)

6.遞歸+定義函數(shù)+for循環(huán)

def fibnacci5(o):
    def fn(i):
        if i < 2:
            return 1
        else:
            return (fn(i-2)+fn(i-1))
    for i in range(o):
        print(fn(i))
???????
fibnacci5(8)

7.指定列表

def fib3(e):
    if e == 1:
        return [1]
    if e == 2:
        return [1, 1]
    fibs = [1, 1]
    for i in range(2, e):
        fibs.append(fibs[-1]+fibs[-2])
    return fibs

print(fib3(12))

趣方程求解

題目描述

二次方程式 ax**2 + bx + c = 0 (a、b、c 用戶提供,為實數(shù),a ≠ 0)

# 導(dǎo)入 cmath(復(fù)雜數(shù)學(xué)運算) 模塊
import cmath

a = float(input('輸入 a: '))
b = float(input('輸入 b: '))
c = float(input('輸入 c: '))

# 計算
d = (b ** 2) - (4 * a * c)

# 兩種求解方式
sol1 = (-b - cmath.sqrt(d)) / (2 * a)
sol2 = (-b + cmath.sqrt(d)) / (2 * a)

print('結(jié)果為 {0} 和 {1}'.format(sol1, sol2))

pandas 每日一練

# -*- coding = utf-8 -*-
# @Time : 2022/7/26 21:48
# @Author : lxw_pro
# @File : pandas -8 練習(xí).py
# @Software : PyCharm

import pandas as pd
import numpy as np

df = pd.read_excel('text5.xlsx')
print(df)

print()

程序運行結(jié)果如下:

   Unnamed: 0 Unnamed: 0.1  project  ...           test_time       date      time
0           0     00:00:00   Python  ... 2022-06-20 18:30:20 2022-06-20  18:30:20
1           1            1     Java  ... 2022-06-18 19:40:20 2022-06-18  19:40:20
2           2            2        C  ... 2022-06-08 13:33:20 2022-06-08  13:33:20
3           3            3    MySQL  ... 2021-12-23 11:26:20 2021-12-23  11:26:20
4           4            4    Linux  ... 2021-12-20 18:20:20 2021-12-20  18:20:20
5           5            5     Math  ... 2022-07-20 16:30:20 2022-07-20  16:30:20
6           6            6  English  ... 2022-06-23 15:30:20 2022-06-23  15:30:20
7           7            7   Python  ... 2022-07-19 09:30:20 2022-07-19  09:30:20
[8 rows x 7 columns]

41、將test_time列設(shè)置為索引

print(df.set_index('test_time'))

???????print()

程序運行結(jié)果如下:
                    Unnamed: 0 Unnamed: 0.1  ...       date      time
test_time                                     ...                     
2022-06-20 18:30:20           0     00:00:00  ... 2022-06-20  18:30:20
2022-06-18 19:40:20           1            1  ... 2022-06-18  19:40:20
2022-06-08 13:33:20           2            2  ... 2022-06-08  13:33:20
2021-12-23 11:26:20           3            3  ... 2021-12-23  11:26:20
2021-12-20 18:20:20           4            4  ... 2021-12-20  18:20:20
2022-07-20 16:30:20           5            5  ... 2022-07-20  16:30:20
2022-06-23 15:30:20           6            6  ... 2022-06-23  15:30:20
2022-07-19 09:30:20           7            7  ... 2022-07-19  09:30:20
[8 rows x 6 columns]

42、生成一個和df長度相同的隨機數(shù)dataframe

df1 = pd.DataFrame(pd.Series(np.random.randint(1, 10, 8)))
print(df1)

???????print()

程序運行結(jié)果如下:

   0
0  1
1  3
2  2
3  7
4  7
5  3
6  5
7  1

43、將上一題生成的dataframe與df合并

df = pd.concat([df, df1], axis=1)
print(df)

???????print()

程序運行結(jié)果如下:

   Unnamed: 0 Unnamed: 0.1  project  ...       date      time  0
0           0     00:00:00   Python  ... 2022-06-20  18:30:20  1
1           1            1     Java  ... 2022-06-18  19:40:20  3
2           2            2        C  ... 2022-06-08  13:33:20  2
3           3            3    MySQL  ... 2021-12-23  11:26:20  7
4           4            4    Linux  ... 2021-12-20  18:20:20  7
5           5            5     Math  ... 2022-07-20  16:30:20  3
6           6            6  English  ... 2022-06-23  15:30:20  5
7           7            7   Python  ... 2022-07-19  09:30:20  1
[8 rows x 8 columns]

44、生成新的一列new為popularity列減去之前生成隨機數(shù)列

df['new'] = df['popularity'] - df[0]
print(df)

???????print()

程序運行結(jié)果如下:

  Unnamed: 0 Unnamed: 0.1  project  popularity  ...       date      time  0  new
0           0     00:00:00   Python          95  ... 2022-06-20  18:30:20  1   94
1           1            1     Java          92  ... 2022-06-18  19:40:20  3   89
2           2            2        C         145  ... 2022-06-08  13:33:20  2  143
3           3            3    MySQL         141  ... 2021-12-23  11:26:20  7  134
4           4            4    Linux          84  ... 2021-12-20  18:20:20  7   77
5           5            5     Math         148  ... 2022-07-20  16:30:20  3  145
6           6            6  English         146  ... 2022-06-23  15:30:20  5  141
7           7            7   Python         149  ... 2022-07-19  09:30:20  1  148
[8 rows x 9 columns]

45、檢查數(shù)據(jù)中是否含有任何缺失值

jch = df.isnull().values.any()
print(jch)    # 運行結(jié)果為:False

???????print()

46、將popularity列類型轉(zhuǎn)換為浮點數(shù)

fds = df['popularity'].astype(np.float64)
print(fds)

???????print()

程序運行結(jié)果如下:

0     95.0
1     92.0
2    145.0
3    141.0
4     84.0
5    148.0
6    146.0
7    149.0
Name: popularity, dtype: float64

47、計算popularity大于100的次數(shù)

cs = len(df[df['popularity'] > 100])
print(cs)    # 運行結(jié)果為:5

???????print()

48、查看project列共有幾種學(xué)歷

ckj = df['project'].nunique()
print(ckj)    # 運行結(jié)果為:7

???????print()

49、查看每科出現(xiàn)的次數(shù)

ckc = df.project.value_counts()
print(ckc)

print()

程序運行結(jié)果如下:

Python     2
Java       1
C          1
MySQL      1
Linux      1
Math       1
English    1
Name: project, dtype: int64

50、提取popularity與new列的和大于136的最后3行

df1 = df[['popularity', 'new']]
hh = df1.apply(np.sum, axis=1)
res = df.iloc[np.where(hh > 136)[0][-3:], :]
print(res)

程序運行結(jié)果如下:

   Unnamed: 0 Unnamed: 0.1  project  popularity  ...       date      time  0  new
5           5            5     Math         148  ... 2022-07-20  16:30:20  3  145
6           6            6  English         146  ... 2022-06-23  15:30:20  5  141
7           7            7   Python         149  ... 2022-07-19  09:30:20  1  148
[3 rows x 9 columns]

到此這篇關(guān)于Python實現(xiàn)斐波那契數(shù)列的多種寫法總結(jié)的文章就介紹到這了,更多相關(guān)Python斐波那契數(shù)列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python爬取股票交易數(shù)據(jù)并可視化展示

    Python爬取股票交易數(shù)據(jù)并可視化展示

    拋開炒股技術(shù)不說,?那么多股票數(shù)據(jù)是不是非常難找,找到之后是不是看著密密麻麻的數(shù)據(jù)是不是頭都大了?今天帶大家爬取雪球平臺的股票數(shù)據(jù)并將其可視化
    2021-12-12
  • python3.6生成器yield用法實例分析

    python3.6生成器yield用法實例分析

    這篇文章主要介紹了python3.6生成器yield用法,結(jié)合實例形式分析了Python3.6中生成器yield的功能、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-08-08
  • Python中range、np.arange和np.linspace的區(qū)別

    Python中range、np.arange和np.linspace的區(qū)別

    本文主要介紹了Python中range、np.arange和np.linspace的區(qū)別,文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • OpenCV4.1.0+VS2017環(huán)境配置的方法步驟

    OpenCV4.1.0+VS2017環(huán)境配置的方法步驟

    這篇文章主要介紹了OpenCV4.1.0+VS2017環(huán)境配置的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • pyautogui自動化控制鼠標和鍵盤操作的步驟

    pyautogui自動化控制鼠標和鍵盤操作的步驟

    這篇文章主要介紹了pyautogui自動化控制鼠標和鍵盤操作的步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python  unittest單元測試框架的使用

    Python unittest單元測試框架的使用

    這篇文章主要介紹了Python unittest單元測試框架的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 操作Windows注冊表的簡單的Python程序制作教程

    操作Windows注冊表的簡單的Python程序制作教程

    這篇文章主要介紹了操作Windows注冊表的簡單的Python程序制作教程,包括遠程對注冊表進行修改的實現(xiàn),需要的朋友可以參考下
    2015-04-04
  • python基于Kivy寫一個圖形桌面時鐘程序

    python基于Kivy寫一個圖形桌面時鐘程序

    這篇文章主要介紹了python如何基于Kivy 寫一個桌面時鐘程序,幫助大家更好的利用python開發(fā)圖形程序,感興趣的朋友可以了解下
    2021-01-01
  • Python 文本滾動播放器的實現(xiàn)代碼

    Python 文本滾動播放器的實現(xiàn)代碼

    這篇文章主要介紹了Python 文本滾動播放器的實現(xiàn)代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • django 中使用DateTime常用的時間查詢方式

    django 中使用DateTime常用的時間查詢方式

    今天小編就為大家分享一篇django 中使用DateTime常用的時間查詢方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論