VPython Lists: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 41: | Line 41: | ||
Now that's a lot of balls. | Now that's a lot of balls. | ||
<p></p> | |||
VPython lists are pretty flexible unlike lists from other languages such as: | |||
*containing duplicate items | |||
*easily modifying, replacing, or removing elements | |||
*keeps track of the order elements were added in | |||
*elements accessed through their position | |||
*containing different data types (integers, strings, booleans, etc) | |||
===A Mathematical Model=== | ===A Mathematical Model=== | ||
Revision as of 11:23, 2 December 2025
Yu Zhou Fall 2025
An introduction to creating and using lists in VPython.
The Main Idea
Let's say you want to create 100 or maybe even 12,000 tennis balls to help you stop a 17, 500 kg block of mass sliding right at you using VPython. Now, you could perhaps do it like this:
ball1 = sphere(color=color.blue, radius=0.2) ball2 = sphere(color=color.blue, radius=0.2) ball3 = sphere(color=color.blue, radius=0.2) ball4 = sphere(color=color.blue, radius=0.2) ball5 = sphere(color=color.blue, radius=0.2)
and so on and so on. However, this can get really disorganized, and you probably don't want to count all the way to 'ball12000'. Fortunately, we can use lists to contain all of these balls!
# This is where we create our list
ball_list = []
# We set how many balls to add to our list
num_balls = 1000
# Inside this loop, we add num_balls amount of balls to the list
for i in range(num_balls):
# Every time we add a ball, we put it next to the previous ball
pos = vector(0, 0, i)
# radius is 1 for the ball
radius = 1
# We create the ball
ball = sphere(pos=pos, radius=radius, color=color.red)
# Finally, we add it to the list
ball_list.append(ball)
Now that's a lot of balls.
VPython lists are pretty flexible unlike lists from other languages such as:
- containing duplicate items
- easily modifying, replacing, or removing elements
- keeps track of the order elements were added in
- elements accessed through their position
- containing different data types (integers, strings, booleans, etc)