斐波那契数列-解法目录

  • 1-for循环:
  • 2-while循环:
  • 3-使用递归
  • 4-递归+for循环:
  • 5-递归+while循环:
  • 6-递归+定义函数+for循环:
  • 7-指定列表
    • 趣方程求解
  • pandas 每日一练:
      • 程序运行结果如下:
    • 41、将test_time列设置为索引
      • 程序运行结果如下:
    • 42、生成一个和df长度相同的随机数dataframe
      • 程序运行结果如下:
    • 43、将上一题生成的dataframe与df合并
      • 程序运行结果如下:
    • 44、生成新的一列new为popularity列减去之前生成随机数列
      • 程序运行结果如下:
    • 45、检查数据中是否含有任何缺失值
    • 46、将popularity列类型转换为浮点数
      • 程序运行结果如下:
    • 47、计算popularity大于100的次数
    • 48、查看project列共有几种学历
    • 49、查看每科出现的次数
      • 程序运行结果如下:
    • 50、提取popularity与new列的和大于136的最后3行
      • 程序运行结果如下:
    • 每日一言:+^2^
      • 持续更新中…

个人昵称:lxw-pro
个人主页:欢迎关注 我的主页
个人感悟: “失败乃成功之母”,这是不变的道理,在失败中总结,在失败中成长,才能成为IT界的一代宗师。

斐波那契数列——经典例子,永不过时!!!

1-for循环:

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

def fib1(w):a, b = 1, 1for i in range(w-1):a, b = b, a+breturn aprint(fib1(3))

[^1]刚好得出这个位置的数


2-while循环:

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

[^1]刚好得出这个位置的数


3-使用递归

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

4-递归+for循环:

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循环:

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

6-递归+定义函数+for循环:

def fibnacci5(o):def fn(i):if i < 2:return 1else: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 fibsprint(fib3(12))

—————————————————————————————————

趣方程求解

题目描述

二次方程式 ax**2 + bx + c = 0 (a、b、c 用户提供,为实数,a ≠ 0)

# 导入 cmath(复杂数学运算) 模块import cmatha = 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('结果为 {0} 和 {1}'.format(sol1, sol2))

————————————————————————————————————————————

pandas 每日一练:

# -*- coding = utf-8 -*-# @Time : 2022/7/26 21:48# @Author : lxw_pro# @File : pandas -8 练习.py# @Software : PyCharmimport pandas as pdimport numpy as npdf = pd.read_excel('text5.xlsx')print(df)print()

程序运行结果如下:

 Unnamed: 0 Unnamed: 0.1project... test_time datetime0 0 00:00:00 Python... 2022-06-20 18:30:20 2022-06-2018:30:201 11 Java... 2022-06-18 19:40:20 2022-06-1819:40:202 22C... 2022-06-08 13:33:20 2022-06-0813:33:203 33MySQL... 2021-12-23 11:26:20 2021-12-2311:26:204 44Linux... 2021-12-20 18:20:20 2021-12-2018:20:205 55 Math... 2022-07-20 16:30:20 2022-07-2016:30:206 66English... 2022-06-23 15:30:20 2022-06-2315:30:207 77 Python... 2022-07-19 09:30:20 2022-07-1909:30:20[8 rows x 7 columns]

41、将test_time列设置为索引

print(df.set_index('test_time'))print()

程序运行结果如下:

Unnamed: 0 Unnamed: 0.1... datetimetest_time ... 2022-06-20 18:30:20 0 00:00:00... 2022-06-2018:30:202022-06-18 19:40:20 11... 2022-06-1819:40:202022-06-08 13:33:20 22... 2022-06-0813:33:202021-12-23 11:26:20 33... 2021-12-2311:26:202021-12-20 18:20:20 44... 2021-12-2018:20:202022-07-20 16:30:20 55... 2022-07-2016:30:202022-06-23 15:30:20 66... 2022-06-2315:30:202022-07-19 09:30:20 77... 2022-07-1909:30:20[8 rows x 6 columns]

42、生成一个和df长度相同的随机数dataframe

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

程序运行结果如下:

 00113223747536571

43、将上一题生成的dataframe与df合并

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

程序运行结果如下:

 Unnamed: 0 Unnamed: 0.1project... datetime00 0 00:00:00 Python... 2022-06-2018:30:2011 11 Java... 2022-06-1819:40:2032 22C... 2022-06-0813:33:2023 33MySQL... 2021-12-2311:26:2074 44Linux... 2021-12-2018:20:2075 55 Math... 2022-07-2016:30:2036 66English... 2022-06-2315:30:2057 77 Python... 2022-07-1909:30:201[8 rows x 8 columns]

44、生成新的一列new为popularity列减去之前生成随机数列

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

程序运行结果如下:

Unnamed: 0 Unnamed: 0.1projectpopularity... datetime0new0 0 00:00:00 Python95... 2022-06-2018:30:201 941 11 Java92... 2022-06-1819:40:203 892 22C 145... 2022-06-0813:33:2021433 33MySQL 141... 2021-12-2311:26:2071344 44Linux84... 2021-12-2018:20:207 775 55 Math 148... 2022-07-2016:30:2031456 66English 146... 2022-06-2315:30:2051417 77 Python 149... 2022-07-1909:30:201148[8 rows x 9 columns]

45、检查数据中是否含有任何缺失值

jch = df.isnull().values.any()print(jch)# 运行结果为:Falseprint()

46、将popularity列类型转换为浮点数

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

程序运行结果如下:

0 95.01 92.02145.03141.04 84.05148.06146.07149.0Name: popularity, dtype: float64

47、计算popularity大于100的次数

cs = len(df[df['popularity'] > 100])print(cs)# 运行结果为:5print()

48、查看project列共有几种学历

ckj = df['project'].nunique()print(ckj)# 运行结果为:7print()

49、查看每科出现的次数

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

程序运行结果如下:

Python 2Java 1C1MySQL1Linux1Math 1English1Name: 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)

程序运行结果如下:

 Unnamed: 0 Unnamed: 0.1projectpopularity... datetime0new5 55 Math 148... 2022-07-2016:30:2031456 66English 146... 2022-06-2315:30:2051417 77 Python 149... 2022-07-1909:30:201148[3 rows x 9 columns]

每日一言:+2

  • 那种吃苦也像享乐似的岁月,便叫青春。
  • 给自己一点时间,别害怕重新开始。
  • 世界上最好的保鲜就是不断进步,让自己成为更好和更值得爱的人。

持续更新中…

点赞,你的认可是我创作的动力
收藏,你的青睐是我努力的方向
评论,你的意见是我进步的财富
关注,你的喜欢是我长久的坚持

欢迎关注微信公众号【程序人生6】,一起探讨学习哦!!!