答案5 科學計算

2021-08-30 13:11:39 字數 1661 閱讀 5718

'''

2.1 numpy中,reshape()函式的作用是重塑陣列的形狀,例如**a = np.arange(25).reshape(5,5)會生成乙個5*5的矩陣,如下所示:

[[ 0 1 2 3 4]

[ 5 6 7 8 9]

[10 11 12 13 14]

[15 16 17 18 19]

[20 21 22 23 24]]

請編寫**,使矩陣中的第一行與第二行交換位置

'''#涉及到python拷貝的問題,匯入copy包,進行值拷貝

import copy

import numpy as np

a = np.arange(25).reshape(5,5)

temp1=copy.copy(a[0])

temp2=copy.copy(a[1])

a[0]=temp2

a[1]=temp1

print(a)

'''2.2 蜘蛛雞兔同籠問題:

乙個農場主,同時養了蜘蛛,雞和兔。要求編寫程式,輸入頭和腿的個數,計算出蜘蛛,雞與兔所有可能的組合情況。

如果不存在組合情況,則返回「不存在」(該問題**於mit計算機導論課程)

'''def calculate(n_heads,n_legs):

i=0#初始化的計數器

for n_chicks in range(0,n_heads+1):

for n_rabbits in range(0, n_heads+1):

n_spider=n_heads-n_chicks-n_rabbits

total_legs=8*n_spider+4*n_rabbits+2*n_chicks

if total_legs==n_legs:

i=i+1

print("第"+str(i)+"種可能組合為:"+"蜘蛛"+str(n_spider)+"兔"+str(n_rabbits)+"雞"+str(n_chicks))

#以下**表示當沒有可行解時候,輸出組合不存在

if i==0:

print("組合不存在")

return none

else:

return none

def solve():

legs=int(input("輸入腿的個數:"))

heads=int(input("輸入頭的個數:"))

calculate(heads,legs)

solve()

'''2.3 通過陣列的切片,建立乙個8*8的棋盤矩陣,如下圖所示:

[0 0 0 0 0 0 0 0]

[1 0 1 0 1 0 1 0]

[0 0 0 0 0 0 0 0]

[1 0 1 0 1 0 1 0]

[0 0 0 0 0 0 0 0]

[1 0 1 0 1 0 1 0]

[0 0 0 0 0 0 0 0]

[1 0 1 0 1 0 1 0]

'''import numpy as np

a=np.zeros((8,8),dtype=int)#建立8*8的矩陣,元素為零,資料型別dtype為int

a[1::2,::2]=1 #將1,3,5,7行和0,2,4,6列的元素的值改為1

print(a)

1024 科學計數法

科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分只有1位,小數部分至少有1位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數a,請編寫程式按普通數字表示法輸出a,並保證所有有效位都被保留。輸入...

1024 科學計數法

科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分只有1位,小數部分至少有1位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數a,請編寫程式按普通數字表示法輸出a,並保證所有有效位都被保留。輸入...

1024 科學計數法

科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分只有1位,小數部分至少有1位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數a,請編寫程式按普通數字表示法輸出a,並保證所有有效位都被保留。輸入...