Bergervei/Python-Balkendiagramm

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Python</language>
== Zufallszahlen ==

<canvas w="400" h="300"></canvas>

<code id="63ab8090a642a" hidden>
canvas = window.Canvas
turtle = window.Turtle

c = canvas.new(1)
t = turtle.new(1)

c.clear()
t.hide()
t.penColor(0, 0, 0)

rand = 50
maxbreite = 400 - 2 * rand
maxhoehe = 300 - 2 * rand
        
def minmax(ls):
    erg = [0, 0]
    for i in range(len(ls)):
        if erg[0] > ls[i]: erg[0] = ls[i]
        if erg[1] < ls[i]: erg[1] = ls[i]
    return erg
    
def balken(hoehe, breite):
    t.forward(breite); t.left(90)
    t.forward(hoehe); t.left(90)
    t.forward(breite); t.left(90)
    t.forward(hoehe); t.left(90)
    t.forward(breite)

def balkendiagramm(ls):
    breite = maxbreite / len(ls)
    extrem = minmax(ls)
    minwert = extrem[0]; maxwert = extrem[1]
    t.penUp()
    t.right(90)
    t.move(rand, rand + maxwert / (maxwert - minwert) * maxhoehe) 
    t.penDown()
    for i in range(len(ls)):
        balken(ls[i] / (maxwert - minwert) * maxhoehe, breite)
</code>

<code id="63ab8090a6472">
from random import randint

def zufallsliste(von, bis, anz):
    ls = []
    for i in range(anz):
        ls.append(randint(von, bis))
    return ls
</code>

<run id="63ab8090a64bb">
ls = zufallsliste(1, 100, 50)
print(ls)
balkendiagramm(ls)
</run>