Python和C 基本演算法實現對比

2022-01-12 07:39:06 字數 2884 閱讀 4305

最近在學習python,很多入門的例子又寫了一遍,基本上是c#和python都寫了一遍,對比發現語言真是相通啊,只是語法不同而已。

python開發也是用的vs,很好用,特別是**段執行,選中一段python**,ctrl+e+e執行結果就出來了,跟裝了testdriven寫c#也差不多,很不錯!!!2016-03-23 22:31:21

python3.4的字串格式化我發現跟c#一樣的用法,然後就沒有然後了,字串不管什麼都是這麼寫"+=".format(i,j,k),嘿嘿嘿......

join比較坑,必須是字串陣列

python程式裡面有中文的話,要在檔案開始標註編碼為gbk,# coding=gbk

下面是基本基本演算法案例:

1.斐波那契數

python

1

deffib(n):

2if(n == 1) or n == 2:

3return 1

4return fib(n - 1) + fib(n - 2)

5print(fib(10))67

8def

fib(n):

9if n == 1:

10return [1]

11if n == 2:

12return [1, 1]

13 fibs = [1, 1]

14for i in range(2, n):

16return

fibs

17print(fib(10))

輸出結果:55,[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

c#

1

public

int fib(intn)2

7if (n == 1 || n == 2)8

11return fib(n - 1) + fib(n - 2

);12}13

public

string fibarr(int

n)14

19if (n == 1 || n == 2)20

2324 list fiblist = new list() ;

25for (int i = 2; i < n; i++)

2629

return

string.join(","

, fiblist);30}

3132

void

test()

33

輸出結果:

551,1,2,3,5,8,13,21,34,55

2.水仙數

python

for x in range(100,1000):

i = int(x / 100)

j = int((x % 100) / 10)

k = int(x % 10)

if((i ** 3 + j ** 3 + k ** 3) == x):

print(x)

c#

1

for (int i = 100; i < 1000; i++)

210 }

3.因式分解

python

例如:12=2*2*3

1

#coding=gbk

23 n = int(input("

輸入數字:"))

4print("n="

.format(n))

5 s = ""

6for x in range(2,n + 1):

7while x !=n:

8if(n % x ==0):

9 s+="

".format(x)

10 s+="*"

11 n = n /x

12else:13

break

14 s+="

".format(int(n))

15print(s)

4.求素數

python

1 count =0

2 pmarr =

3 ispm =true45

from math import

sqrt

6for x in range(101,201):

7 k =int(sqrt(x))

8for i in range(2,k + 1):

9if x % i ==0:

10 ispm =false

11break

12 ispm =true

13if

(ispm):

%d" %x)

15 count+=1

16print

(pmarr)

17print(count)

c#

1

bool ispm = true;2

int count = 0;3

for (int i = 100; i < 200; i++)

413 ispm = true;14

}15if(ispm)16

", i);

18 count++;19}

20}21 console.writeline("

總數:", count);

python執行效率或者語言特性可能不如c#,但動態語言特徵及跨平台方面確實比c#好太多。

在爬蟲方面的開發效率確實很快,目前正在看python爬蟲演算法,準備寫一版c#出來 

學習做筆記的習慣已經丟好久了,希望以後能慢慢的拾起來吧

python實現基本演算法

classnode object 建立節點類 def init self elem 1 lchild none,rchild none self.elem elem self.lchild lchild self.rchild rchild 就是每次將樹中的節點依次取出來,放入佇列,判斷 class...

基本排序演算法 Python實現

基本排序演算法,包括氣泡排序,插入排序,選擇排序,堆排序,快速排序等。氣泡排序 複雜度是n n coding utf8 author haxtraz description 氣泡排序 def bubblesort1 a 每次找到乙個最小元素,放到陣列首部 n len a for i in range...

基本排序演算法 Python實現

基本排序演算法,包括氣泡排序,插入排序,選擇排序,堆排序,快速排序等。氣泡排序 複雜度是n n coding utf8 author haxtraz description 氣泡排序 def bubblesort1 a 每次找到乙個最小元素,放到陣列首部 n len a for i in range...