看板 Python 關於我們 聯絡資訊
小弟第一次在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
tsungjen: 直接寫balllist[N].v= vector(0.0, 0.0, 0.0)不行嗎 01/20 11:33
Neisseria: http://pastebin.com/ts06MUD0 用 globals() 函數 01/20 11:35
octantis: 推樓上 01/20 12:00
day831231: 原來還有這個用法 01/20 12:39
bigpigbigpig: 要不要試試用 dict? 01/20 13:14
lefan: 謝謝,晚些會測試看看 01/20 13:52
linux5566: 你這樣寫有什麼好處? 01/21 12:18