#๐ Variable copy goes wrong
18 messages ยท Page 1 of 1 (latest)
@marsh holly
Remember to:
- Ask your Python question, not if you can ask or if there's an expert who can help.
- Show a code sample as text (rather than a screenshot) and the error message, if you've got one.
- Explain what you expect to happen and what actually happens.
:warning: Do not pip install anything that isn't related to your question, especially if asked to over DMs.
Closes after a period of inactivity, or when you send !close.
full code:
from Data import *
import random
from termcolor import colored
import os
#Genereerd een nieuw bingo kaart
def MaakNieuwKaart(IsEven:bool) -> list:
Getallen = list(range(1, 100, 2))
if IsEven:
Getallen = list(range(2, 100, 2))
BingoKaart = []
PrintKaart = []
for _ in range(4):
Rij = []
for _ in range(4):
RandomGetal = random.choice(Getallen)
Getallen.remove(RandomGetal)
Rij.append(RandomGetal)
BingoKaart.append(Rij)
PrintKaart = BingoKaart.copy()
for i in range(ALGERADENAANTAL):
RandomRij = random.randint(0,3)
RandomIndex = random.randint(0,3)
PrintKaart[RandomRij][RandomIndex] = colored(PrintKaart[RandomRij][RandomIndex], "green") #This line makes Bingokaart also change for some reason
return PrintKaart, BingoKaart
PrintKaart, BingoKaart = MaakNieuwKaart(True)
print(PrintKaart)
print(BingoKaart)```
from Data import *
import random
from termcolor import colored
import os
import copy
#Genereerd een nieuw bingo kaart
def MaakNieuwKaart(IsEven:bool) -> list:
Getallen = list(range(1, 100, 2))
if IsEven:
Getallen = list(range(2, 100, 2))
BingoKaart = []
PrintKaart = []
for _ in range(4):
Rij = []
for _ in range(4):
RandomGetal = random.choice(Getallen)
Getallen.remove(RandomGetal)
Rij.append(RandomGetal)
BingoKaart.append(Rij)
PrintKaart = copy.deepcopy(BingoKaart)
for i in range(ALGERADENAANTAL):
RandomRij = random.randint(0,3)
RandomIndex = random.randint(0,3)
PrintKaart[RandomRij][RandomIndex] = colored(PrintKaart[RandomRij][RandomIndex], "green") #This line makes Bingokaart also change for some reason
return PrintKaart, BingoKaart
PrintKaart, BingoKaart = MaakNieuwKaart(True)
print(PrintKaart)
print(BingoKaart)
try this with deep copy instead @marsh holly
.copy only copies the first layer of the list, but if that list contains reference to other lists, these lists wont be copied.
does this work tho?
This help channel has been closed and it's no longer possible to send messages here. If your question wasn't answered, feel free to create a new post in #1035199133436354600. To maximize your chances of getting a response, check out this guide on asking good questions.
๐ Variable copy goes wrong