366. 斐波納契數列:查詢斐波納契數列中第 n 個數。
所謂的斐波納契數列是指:
前2個數是 0 和 1 。
第 i 個數是第 i-1 個數和第i-2 個數的和。
斐波納契數列的前10個數字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...
給定 1,返回 0
給定 2,返回 1
給定 10,返回 34
參***:
def fibonacci(self, n):
# write your code here
i = 0
a,b =0, 1
while i < n-1:
a,b =b,a+b
i +=1
return a
9. fizz buzz 問題
給你乙個整數n. 從 1 到 n 按照下面的規則列印每個數:
如果這個數被3整除,列印fizz.
如果這個數被5整除,列印buzz.
如果這個數能同時被3和5整除,列印fizz buzz.
比如 n = 15, 返回乙個字串陣列:
["1", "2", "fizz",
"4", "buzz", "fizz",
"7", "8", "fizz",
"buzz", "11", "fizz",
"13", "14", "fizz buzz"
]參***:
def fizzbuzz(self, n):
# write your code here
result =
for i in range(1,n+1):
172. 刪除元素
給定乙個陣列和乙個值,在原地刪除與值相同的數字,返回新陣列的長度。
元素的順序可以改變,並且對新的陣列不會有影響。
給出乙個陣列 [0,4,4,0,0,2,4,4],和值 4
返回 4 並且4個元素的新陣列為[0,0,0,2]
參***:
def removeelement(self, a, elem):
i = 0
n = len(a)
while iif a[i]==elem:
n-=1
del a[i]
else:
i+=1
return n
return b
463. 整數排序
給一組整數,按照公升序排序,使用選擇排序,氣泡排序,插入排序或者任何 o(n2) 的排序演算法。
對於陣列 [3, 2, 1, 4, 5], 排序後為:[1, 2, 3, 4, 5]。
參***:
def sortintegers(self, a):
n = len(a)
for i in range(n-1):
temp=i
for j in range(i+1,n):
if a[j]a[j],a[temp]=a[temp],a[j]
a[temp],a[i]=a[i],a[temp]
print(a)
100. 刪除排序陣列中的重複數字
給定乙個排序陣列,在原陣列中刪除重複出現的數字,使得每個元素只出現一次,並且返回新的陣列的長度。
不要使用額外的陣列空間,必須在原地沒有額外空間的條件下完成。
給出陣列a =[1,1,2],你的函式應該返回長度2,此時a=[1,2]。
參***:
迴圈陣列,找到下乙個元素a[i+1]等於a[i],就刪除a[i+1],
注意的是迴圈次數需要 -1,避免索引超限。
def removeduplicates(self, a):
i = 0
while i < len(a)-1:
if a[i] == a[i+1]:
a.remove(a[i])
else:
i += 1
return len(a)
101. 刪除排序陣列中的重複數字 ii
跟進「刪除重複數字」:
如果可以允許出現兩次重複將如何處理?
參***:
允許重複一次,則直接檢查元素a[i+2]是否等於a[i]即可,
因為如果a[i+2]等於a[i],那麼a[i+1]也等於a[i],
此時刪除a[i+2]即可。
當然,迴圈次數需要 -2
def removeduplicates(self, nums):
i = 0
while i < len(nums)-2:
if nums[i] == nums[i+2]:
nums.remove(nums[i])
else:
i += 1
return len(nums)
2. 尾部的零
設計乙個演算法,計算出n階乘中尾部零的個數
11! = 39916800,因此應該返回 2
參***:
對於n!來說,每當有5,必出現乙個零,所以其實計算n以內有多少個5即可。
if n == 0 :
return 1
x = 1
while n>5:
x += n/5
n = n/5
return x-1
python實戰 使用者答題
主要包含內容,檔案的讀取,更改,儲存。不同資料夾引入模組。輸入,輸出操作。隨機獲取資料操作 隨機生成算數表示式,使用者輸入答案,正確記錄分數,錯誤返回0,並把使用者分數記錄到文字檔案中,如使用者名稱不存在著新建使用者 mypythonfunction.py包含三個函式 coding utf 8 fr...
Python題庫 簡答題
1.命名空間和作用域的關係 命名空間定義了在某個作用域內變數名和繫結值之間的對應關係,命名空間是鍵值對的集合,變數名與值是一一對應關係。作用域定義了命名空間中的變數能夠在多大範圍內起作用。2.裝飾器函式的作用?寫乙個裝飾器程式 在不修改原函式及其呼叫方式的情況下對原函式功能進行擴充套件。def ou...
python實現使用者答題功能
python實戰,使用者答題分享給大家。主要包含內容,檔案的讀取,更改,儲存。不同資料夾引入模組。輸入,輸出操作。隨機獲取資料操作 隨機生成算數表示式,使用者輸入答案,正確記錄分數,錯誤返回0,並把使用者分數記錄到文字檔案中,如使用者名稱不存在著新建使用者 mypythonfunction.py包含...