'''
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,並保證所有有效位都被保留。輸入...