每個程式設計師半小時內必須解決的5個程式設計問題

2021-09-01 09:45:37 字數 3133 閱讀 9586

問題1:使用for迴圈、while迴圈和遞迴寫出3個函式來計算給定數列的總和。

問題2:編寫乙個交錯合併列表元素的函式。例如:給定的兩個列表為[a,b,c]和[1,2,3],函式返回[a,1,b,2,c,3]。

問題3:編寫乙個計算前100位斐波那契數的函式。根據定義,斐波那契序列的前兩位數字是0和1,隨後的每個數字是前兩個數字的和。例如,前10位斐波那契數為:0,1,1,2,3,5,8,13,21,34。

問題4:編寫乙個能將給定非負整數列表中的數字排列成最大數字的函式。例如,給定[50,2,1,9],最大數字為95021。

問題5:編寫乙個在1,2,…,9(順序不能變)數字之間插入+或-或什麼都不插入,使得計算結果總是100的程式,並輸出所有的可能性。例如:1 + 2 + 34 – 5 + 67 – 8 + 9 = 100。

本人目前也是菜鳥乙個,目前正在學習python,此處也就是用的python程式設計實現,程式設計能力不強,花了好些時間(

#測試一

def func11(numlist):

sum=0

for x in numlist:

sum+=x

print("func11數列的數值總和為:",sum)

def func12(numlist):

sum=0

while len(numlist):

sum+=numlist[0]

del numlist[0]

print("func12數列的數值總和為:",sum)

numlist=[1,5,7,56,12]

func11(numlist)

func12(numlist)

# 測試2

def combine(list1,list2):

maxlist=

minlist=

list3=

if len(list1)!=len(list2):

if len(list1)

maxlist=list2

minlist=list1

else:

maxlist=list1

minlist=list2

for i in range(len(minlist)):

for i in range(len(maxlist)-len(minlist)):

else:

for i in range(len(list1)):

print(list3)

list1=['a','z','b','g','h','u']

list2=[1,2,3,4]

combine(list1,list2)

# 測試3,計算斐波那契數列的前一百個0,1,1,2,3,5,8,13,21

def fibnacci(n):

m,a,b=0,0,1

while m

print(a)

a,b=b,a+b#關鍵**

n-=1

# fibnacci(100)

#測試4 將乙個給定的列表中的非負數字組成乙個最大的數,例如[50,2,1,83,9]組成的最大數為9835021

def func4(list):

# 給每乙個數字根據第一位大小賦予一定的權重,然後按照權重進行排序

new_list=

for i in range(len(list)):

if list[i]<10:

elif 10<=list[i]<=99:

elif 100<=list[i]<=999:

elif 1000<=list[i]<=9999:

print(new_list)

new_list.sort(reverse=true)#倒序排列

#針對那種5與50這種特殊情況,進行調換位置

for i in range(len(new_list)):

for j in range(i+1,len(new_list)):

if new_list[i][0]==new_list[j][0]:

temp=new_list[i]

new_list[i]=new_list[j]

new_list[j]=temp

print(new_list)

s=""

for x in new_list:

s+=str(x[1])

print(int(s))

list=[50,2,1,83,5,9]

func4(list)

測試5:編寫乙個在1,2,3,4,5,6,7,8,9(順序不變)數字之間插入+,-,或什麼都不插,使得計算的結果總是為100,並輸出所有的可能性

#例如:1+2+34-5+67-8+9=100

oper=["+","-",""]

def add(a,b):

return a+b

def minus(a,b):

return a-b

operation=

def func5():

#迴圈3的8次方,判斷符號

for i in range(3):

op1=oper[i]

for j in range(3):

op2=oper[j]

for k in range(3):

op3=oper[k]

for l in range(3):

op4=oper[l]

for m in range(3):

op5=oper[m]

for n in range(3):

op6=oper[n]

for o in range(3):

op7=oper[o]

for p in range(3):

op8=oper[p]

res="1"+op1+"2"+op2+"3"+op3+"4"+op4+"5"+op5+"6"+op6+"7"+op7+"8"+op8+"9"

if eval(res)==100:

print(res+"=100")

func5()

每個程式設計師都必須遵守的程式設計原則

好的程式設計原則跟好的系統設計原則和技術實施原則有著密切的聯絡。下面的這些程式設計原則在過去的這些年裡讓我成為了一名優秀的程式設計師,我相信,這些原則對任何乙個開發人員來說,都能讓他的程式設計能力大幅度的提高,能讓他開發出可維護性更強 缺陷更少的程式。我不要自我重複 這也許是在程式設計開發這最最基本...

每個程式設計師都必須遵守的程式設計原則

好的程式設計原則跟好的系統設計原則和技術實施原則有著密切的聯絡。下面的這些程式設計原則在過去的這些年裡讓我成為了一名優秀的程式設計師,我相信,這些原則對任何乙個開發人員來說,都能讓他的程式設計能力大幅度的提高,能讓他開發出可維護性更強 缺陷更少的程式。我不要自我重複 這也許是在程式設計開發這最最基本...

每個程式設計師都必須遵守的程式設計原則

摘要 好的程式設計原則跟好的系統設計原則和技術實施原則有著密切的聯絡。下面的這些程式設計原則在過去的這些年裡讓我成為了一名優秀的程式設計師,我相信,這些原則對任何乙個開發人員來說,都能讓他的程式設計能力大幅度的提高,能讓他 好的程式設計原則跟好的系統設計原則和技術實施原則有著密切的聯絡。下面的這些程...