[問題] 請問如何產生N個名稱

看板Python作者 (紅氣球雯雯)時間9年前 (2016/01/20 03:11), 編輯推噓3(304)
留言7則, 7人參與, 最新討論串1/3 (看更多)
小弟第一次在python問問題,由於不是學程式的,問題問的不好請見諒 balllist = [] position = [1.0, 0.75, 0.5, 0.25] for po in position: balllist.append(sphere(pos=vector(-L*cos(th)*po, L*sin(th)*po, 0.6-po), radius = size, color=color.red)) ball_0=balllist[0] ball_0.v = vector(0.0, 0.0, 0.0) ball_1=balllist[1] ball_1.v = vector(0.0, 0.0, 0.0) ball_2=balllist[2] ball_2.v = vector(0.0, 0.0, 0.0) ball_3=balllist[3] ball_3.v = vector(0.0, 0.0, 0.0) 以上是我在balllist中放入四個球體的位置尺寸顏色, 再把他們分別放入ball_0,ball_1,ball_2,ball_3 我想利用for loop 自動產生N個名稱如上述寫法 for N in range(0,4,1): ball_N=balllist[N] ball_N.v = vector(0.0, 0.0, 0.0) 但當然不行,因為沒辦法讓程式自動判定ball_N是ball_0 ~ ball_3 希望有強大的板友幫忙,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.71.78.244 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1453259490.A.42B.html

01/20 11:33, , 1F
直接寫balllist[N].v= vector(0.0, 0.0, 0.0)不行嗎
01/20 11:33, 1F

01/20 11:35, , 2F
http://pastebin.com/ts06MUD0 用 globals() 函數
01/20 11:35, 2F

01/20 12:00, , 3F
推樓上
01/20 12:00, 3F

01/20 12:39, , 4F
原來還有這個用法
01/20 12:39, 4F

01/20 13:14, , 5F
要不要試試用 dict?
01/20 13:14, 5F

01/20 13:52, , 6F
謝謝,晚些會測試看看
01/20 13:52, 6F

01/21 12:18, , 7F
你這樣寫有什麼好處?
01/21 12:18, 7F
文章代碼(AID): #1MdlhYGh (Python)
文章代碼(AID): #1MdlhYGh (Python)