×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
解題報告
#26889: [Python]完全沒有用到if elif else或是陣列索引的酷炫方法-complex
406490150@gms.tku.edu.tw
(我是朱朱)
學校 : 國立交通大學
編號 : 139794
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16
c315.
I, ROBOT 前傳
| From: [1.172.254.147] | 發表日期 : 2021-08-30 21:10
Python內建的數字型態,除了int, float還有complex 複數!!!!
應用到這題,方向0,1,2,3剛好是順時鐘旋轉,也就是說
+y方向是j
+x方向是1
-y方向是-j
-x方向是-1
不需要用到if else,就使用虛數j的乘法特性
j ** (-0+1) = j
j ** (-1+1) = 1
j ** (-2+1) = -j
j ** (-3+1) = -1
或是你也可以自己定義喜歡的座標方式哦,反正都是二維座標系統 :D
答案輸出的時候,ans.real, ans.imag 就可以分別輸出x軸跟y軸的數值囉,
要注意直接產生的實數虛數real,imag是float型態,要自己手動用int()轉回int型態。
_______________________________________________
下面給大家參考程式碼,改了一下座標軸:
ans = 0
跑N次迴圈:
direction, move = map(int, input().split())
ans += move*(1j)**direction
列印(int(ans.虛部), int(ans.實部))
(+y軸是+1, +x軸是+j,輸出的時候ans.real是y軸、ans.imag是x軸)
ZeroJudge Forum