Ich bin neu bei Python.
Ich weiß ein bisschen C++, arbeitete mit Arrays. Arrays in C++ sind nicht so langsam.
Ist es die Liste, die es verlangsamt? Ich bin mir nicht sicher, ob es möglich ist, Tupel zu verwenden.
Warum ist dieser Code in Python langsam?
import random
list1=[]
n=1000000
for i in range(n):
list1.append(random.randint(1,6))
x1=list1.count(1)
x2=list1.count(2)
x3=list1.count(3)
x4=list1.count(4)
x5=list1.count(5)
x6=list1.count(6)
xp1=(100*x1)/n
xp2=(100*x2)/n
xp3=(100*x3)/n
xp4=(100*x4)/n
xp5=(100*x5)/n
xp6=(100*x6)/n
print("The number 1 was found %d - %.2f percent" %(x1,xp1))
print("The number 2 was found %d - %.2f percent" %(x2,xp2))
print("The number 3 was found %d - %.2f percent" %(x3,xp3))
print("The number 4 was found %d - %.2f percent" %(x4,xp4))
print("The number 5 was found %d - %.2f percent" %(x5,xp5))
print("The number 6 was found %d - %.2f percent" %(x6,xp6))
Python interpretiert und auf einer virtuellen Maschine laufen, während C++ in Maschinencode kompiliert wird, so wird es immer viel langsamer als c sein ++. .. – Gusman
@AHL - Ja, es muss eine Million Mal ausgeführt werden, um eine Million Zufallszahlen zu generieren. Wenn man es nur sieben Mal laufen ließe, würde das nur sieben Zufallszahlen ergeben, was kein sehr großes Sample ist (warum sowieso sieben?). – TigerhawkT3
@Gusman Dieser Punkt wurde sehr oft auf dieser Website gemacht, wurde aber sehr selten bewiesen. –