2017-02-25 4 views
0

Wenn random.randint mit() in dieser Form kann ich nicht Integer-Division an der Arbeit:Integer-Division mit random.randint

(random.randint(-40, 215) - -40) // (215 - -40) 

Dies liefert 0, aber so etwas wie dies gibt richtig:

Wie formatiere ich die erste Gleichung richtig, um eine gerundete Ganzzahl anstelle von standardmäßig 0 zu erhalten?

+1

Ihre erste Gleichung ist korrekt: Sie wandelt sie in das '[0,1)' Intervall um. Da Sie eine Ganzzahldivision verwenden, ist das Ergebnis also immer 0. –

+0

Dummer Fehler meinerseits! – WMueller

Antwort

1

Falls jemand läuft dies in ganzen Zahlen, wenn die Normalisierung, ist hier eine Normalisierung zwischen -40 und 215:

(random.randint(-40,215) - -40.0) * 10 // (215.0 - -40.0) * 10 

Ein großes Lob an Willem Van Onsem

0

Falls Sie das nicht int Antwort wollen

print (random.randint(-40, 215) +40.0)/(215+40) 

Das Ergebnis liegt immer zwischen (0,1) Schritt von dem immer 0 ist und daher immer Null zurückgibt.

Verwandte Themen