Kos - 1 year ago 80
Python Question

# Is it possible to shorten or otherwise simplify this piece of code?

When writing this code I found myself doing a lot of repetitive stuff and was wondering if there is an easier or simpler or shorter way to do a repetitive task such as this.

Here is the relevant code:

`````` from random import randint
RandomNumber = Zeroes = Ones = Twos = Threes = Fours = Fives = Sixes = i = 0

while i < 1000000:
RandomNumber = (randint(0,6))
if RandomNumber == 0:
Zeroes = Zeroes + 1
if RandomNumber == 1:
Ones = Ones + 1
if RandomNumber == 2:
Twos = Twos + 1
if RandomNumber == 3:
Threes = Threes + 1
if RandomNumber == 4:
Fours = Fours + 1
if RandomNumber == 5:
Fives = Fives + 1
if RandomNumber == 6:
Sixes = Sixes + 1

i = i + 1
``````

Rather than taking the named variables for each random output, you can take dictionary with each possible value as key. This will shorten you code and made it extendable for any random range

``````from random import randint
randomList= {i:0 for i in range(0,7)}
totalIterations = 10000
while totalIterations >0:
randomList[randint(0,6)]+=1
totalIterations-=1
``````

Sample Output:

``````{0: 1400, 1: 1400, 2: 1500, 3: 1400, 4: 1500, 5: 1000, 6: 1800}
``````
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download