3 svar
41 visningar
Mercy är nöjd med hjälpen
Mercy 36
Postad: 2 maj 08:32 Redigerad: 2 maj 15:23

Para ihop namn slumpmässigt

Jag har det här programmet som slumpmässigt parar ihop herrar  och damer inför fest, jag ville inte använda choice då blir inte valet slumpat och inte heller shuffle. 

 

Det som jag får att det sista namnet på både herr och dam i alla borden, har jag missat nåt?

 

import random
gäster =["Ali", " Samer", " Amer", "Johan", "Ali", " Brad", " Kama", " Mikael", " Sam", " Olle", " Kalle", "Anders", " Martin", " Peter"," Maria ", " Anna ", "Eva ", "Sara", "Camilla", " Beritt"," Petra", "Johanna", " Dunya", " Dina", " Lina", "Carro", " Anette", " Malak"]

for m_namn in gäster[0:14]:
for k_namn in gäster[14:28]:
random.randint()

print (" på plats 1 och 2 sitter:"+ m_namn + "och hans borddam"+ k_namn)
print (" på plats 3 och 4 sitter:"+ m_namn + "och hans borddam"+ k_namn)
print (" på plats 5 och 6 sitter:"+ m_namn + "och hans borddam"+ k_namn)
print (" på plats 7 och 8 sitter:"+ m_namn + "och hans borddam"+ k_namn)
print (" på plats 9 och 10 sitter:"+ m_namn + "och hans borddam"+ k_namn)
print (" på plats 11 och 12 sitter:"+ m_namn + "och hans borddam"+ k_namn)
print (" på plats 13 och 14 sitter:"+ m_namn + "och hans borddam"+ k_namn)


Rubrik ändrad från "Vet någon vad har jag missat här?" till nuvarande. En beskrivande rubrik underlättar för de som svarar, och hjälper till att skilja trådar från varandra. /Smutstvätt, moderator 

Laguna 14535
Postad: 2 maj 14:19

När jag anropar randint() så får jag ett fel, för funktionen vill veta hur stora talen får vara. Ser din kod verkligen ut så?

Sedan använder du samma värden m_namn och k_namn på varje rad, utan att ändra variablernas värde. Du får använda slumptalet för att bestämma vilka som ska paras ihop.

Mercy 36
Postad: 2 maj 17:54

Jo, men i det här fallet blir det inte slumptal utan slumpobjekt, det vill säga random.random() utan några argument.

Vad menar du med samma värde på herr och dam? Ska de vara två separata listor eller vad?

Laguna 14535
Postad: 2 maj 18:03

Det står random.randint() i din kod, inte random.random(). random.random() ger ett tal.

"Samma värde på herr och dam" skrev jag inte. Jag menar att t.ex. m_namn på första print-raden har samma värde som m_namn på raden under, för ingenting har hänt med variablerna.

Jag tror jag missförstod strukturen på programmet, för att det inte har någon indentering. Kan du använda kod-verktyget (det ser ut som {;} när man skriver ett inlägg) för att kopiera in programmet igen så man ser vad som ingår i looparna och inte?

Svara Avbryt
Close