(Python) Stuck auf Skipping-Bereich Werte für die Summe einer Randzahl-Liste

Ich muss ein Programm in Python, dass zehn zufällige Zahlen aus 1-100, die es in einer Liste mit einer Schleife speichert zu erstellen. Dann sollte eine zweite Schleife die Liste anzeigen und dann die Summen der geraden und ungeraden Elemente berechnen, um sie anzuzeigen. Dies ist, was ich bisher habe, jede Hilfe wird sehr geschätzt. Vielen Dank

import random def main(): numlist = [0] * 10 for r in range(10): numlist[r] = random.randint(1,100) print(numlist) list_length = len(numlist) print('The number of elements in the list is', list_length) 

Genauer gesagt ist das der Teil, an dem ich stecke. Ich muss die Summen der seltsamen und dann sogar Elemente hinzufügen. Jede Arbeit, die ich probiert habe, hat mir nur die Summe der Gesamtelemente gegeben.

  for x in range(0, 10, 2): numlist[x] = numlist print('The Sum of the odd numbers is ', sum(numlist)) main() 

  • So erstellen Sie 10 zufällige x, y-Koordinaten in einem Raster mit Python
  • Zufallszahl mit vorgegebenem PDF in Python
  • Textdateiverminierung mit Randomisierung in Python
  • Generiere einen zufälligen Brief in Python
  • Shuffle ein numpy Array
  • Pandas: Neue Spalte in df mit zufälligen Ganzzahlen aus Reichweite erstellen
  • Kann Pythons Satz Abwesenheit der Ordnung als zufällige Ordnung betrachtet werden?
  • Arbeiten mit Gleitkomma-NumPy-Arrays für Vergleich und damit verbundene Operationen
  • 3 Solutions collect form web for “(Python) Stuck auf Skipping-Bereich Werte für die Summe einer Randzahl-Liste”

     import random nums = [random.randint(1,100) for _ in range(10)] 

    Sie können Lambdas verwenden und filter

     evenSum = sum(filter(lambda i : i%2 == 0, nums)) oddSum = sum(filter(lambda i : i%2, nums)) 

    Oder mache dir schnelle Helferfunktionen

     def isEven(x): return x % 2 == 0 def isOdd(x): return x % 2 == 1 evenSum = sum(filter(isEven, nums)) oddSum = sum(filter(isOdd, nums)) 

    Mit eigenem Code:

     def main(): numlist = [] # create empty list to add randints to for r in range(10): numlist.append(random.randint(1,100)) # append to the list list_length = len(numlist) print('The number of elements in the list is', list_length) odd = 0 even = 0 for num in numlist: if num % 2: # if num mod 2 has a remainder, num is odd odd += num else: # else num is even even += num print('The Sum of the odd numbers is {} and even numbers is {}'.format(odd,even)) 

    Sie können die erste Schleife durch eine Liste ersetzen:

     numlist = [random.randint(1,100) for _ in range(10)] 

    Kann das Problem nicht verstehen (hhehehe!) Soweit ich verstanden habe, willst du die Summe der ungeraden und geraden Zahlen der Liste ausdrucken, die aus randint () erzeugt wird. Nun habe ich gerade Ihren Code bearbeitet;)

    Also hier ist der einfache Code!

    Abstimmung, wenn es hilft!

      import random def main(): odd_sum=0 even_sum=0 numlist = [0] * 10 for r in range(10): numlist[r] = random.randint(1,100) print numlist list_length = len(numlist) print('The number of elements in the list is', list_length) for i in numlist: if (i%2 == 1): #the remainder is 1 if the number is odd odd_sum = odd_sum + i #add the odd_numbers elif(i%2 == 0): #the remainder is 0 if the number is even even_sum = even_sum + i #add the even_numbers else: print "No need of this else part !" print "Odd_sum = ",odd_sum print "Even_sum = ",even_sum main() 
    Python ist die beste Programmiersprache der Welt.