##### randint stops changing values in a loop
 randint stops changing values in a loop Naito Silly Frenchman Posts: 25 Threads: 11 Joined: Jan 2019 Reputation: Jan-28-2019, 08:11 PM hi! i have a problem i can't understand, randint stops popping new randdom values even if the variables are in the loop: ```def pvp(): dicesonboard = [] dicesused = [] dicesonship = [] dicesremaining = [] socres = {} rounds = 0 print("if you want to quit type quit") while rounds < 3: dice1 = randint(1, 6) dice2 = randint(1, 6) dice3 = randint(1, 6) dice4 = randint(1, 6) dice5 = randint(1, 6) dice6 = randint(1, 6) userinput = input("to start the game type throw: ").lower() rounds += 1 if userinput == "quit": break if userinput == "throw": print("let the game begin") print("Round", rounds) dices = [dice1, dice2, dice3, dice4, dice5, dice6] print("Thrown Dices: ""Dice I: ", dice1, "Dice II: ", dice2, "Dice III: ", dice3, "Dice IV: ", dice4, "Dice V: ", dice5, "Dice VI: ", dice6) if 6 not in dicesonship: if 6 in dices: print("you have a ship now gather a captain and a crew") for i in dices: if i == 6: dicesonship.append(i) dicesused.append(randint(1, 6)) break```as you can see, i did put ranind inside of an append fund while looping but the value stays the same ``````Error:Round 1 Thrown Dices: Dice I: 6 Dice II: 6 Dice III: 6 Dice IV: 1 Dice V: 2 Dice VI: 6 you have a ship now gather a captain and a crew [5] [6] to start the game type throw: throw let the game begin Round 2 Thrown Dices: Dice I: 3 Dice II: 6 Dice III: 4 Dice IV: 5 Dice V: 1 Dice VI: 1 [5] [6] to start the game type throw: throw let the game begin Round 3 Thrown Dices: Dice I: 5 Dice II: 1 Dice III: 6 Dice IV: 6 Dice V: 3 Dice VI: 4 [5] [6]``````focus on the list with the int 5 (don't care about the other list), i did try to change randint to the variables (dice1,2 etc) but that dosent work.. anyone can explain to me how does this work because i just don't get it, thank you! Reply SheeppOSU Minister of Silly Walks Posts: 466 Threads: 85 Joined: Feb 2018 Reputation: Jan-28-2019, 10:25 PM I don't know if this will solve the problem but I thought you have to import random and it should look like this ```import random def pvp(): dicesonboard = [] dicesused = [] dicesonship = [] dicesremaining = [] socres = {} rounds = 0 print("if you want to quit type quit") while rounds < 3: dice1 = random.randint(1, 6) dice2 = random.randint(1, 6) dice3 = random.randint(1, 6) dice4 = random.randint(1, 6) dice5 = random.randint(1, 6) dice6 = random.randint(1, 6) userinput = input("to start the game type throw: ").lower() rounds += 1 if userinput == "quit": break if userinput == "throw": print("let the game begin") print("Round", rounds) dices = [dice1, dice2, dice3, dice4, dice5, dice6] print("Thrown Dices: ""Dice I: ", dice1, "Dice II: ", dice2, "Dice III: ", dice3, "Dice IV: ", dice4, "Dice V: ", dice5, "Dice VI: ", dice6) if 6 not in dicesonship: if 6 in dices: print("you have a ship now gather a captain and a crew") for i in dices: if i == 6: dicesonship.append(i) dicesused.append(randint(1, 6)) break``` Age Doesn't Matter, Your Passion Does - Shreya Jain Reply woooee Minister of Silly Walks Posts: 474 Threads: 0 Joined: Feb 2018 Reputation: Jan-29-2019, 02:07 AM (This post was last modified: Jan-29-2019, 02:08 AM by woooee.) Obviously 6 is either not in dices, or is in dicesonship, which should be an empty list. Print to see. Reply Naito Silly Frenchman Posts: 25 Threads: 11 Joined: Jan 2019 Reputation: Jan-29-2019, 07:10 PM well, that dosen't work, yes i printed the lists too see, what i have copied here is not the ful code, the 6 is in dicesonship but that's not the problem the problem is that the value of ranint is a constant and not random while looping in a while loop. Reply Posts: 1,761 Threads: 8 Joined: Jun 2018 Reputation: Jan-30-2019, 08:15 AM (Jan-29-2019, 07:10 PM)Naito Wrote: the problem is that the value of ranint is a constant and not random while looping in a while loop. I could not replicate your problem: ```import random rounds = 0 while rounds < 3: dice1 = random.randint(1, 6) dice2 = random.randint(1, 6) dice3 = random.randint(1, 6) dice4 = random.randint(1, 6) dice5 = random.randint(1, 6) dice6 = random.randint(1, 6) print(dice1, dice2, dice3, dice4, dice5, dice6) rounds += 1 1 5 5 4 1 3 5 4 2 5 2 5 4 4 2 4 1 4``` I'm not 'in'-sane. Indeed, I am so far 'out' of sane that you appear a tiny blip on the distant coast of sanity. Bucky Katt, Get Fuzzy Da Bishop: There's a dead bishop on the landing. I don't know who keeps bringing them in here. ....but society is to blame. Reply

 Possibly Related Threads… Thread Author Replies Views Last Post Using Dictionary to Test Evenness of Distribution Generated by Randint Function new_coder_231013 6 714 Feb-23-2021, 01:29 PM Last Post: new_coder_231013 Compare values in a for loop. penahuse 1 521 Feb-22-2021, 07:01 AM Last Post: buran returning values in for loop Nickd12 4 674 Dec-17-2020, 03:51 AM Last Post: snippsat Help with a random.randint choice in Python booponion 5 646 Oct-23-2020, 05:13 PM Last Post: deanhystad IDLE stops responding upon saving tompi1 2 537 Oct-01-2020, 05:44 PM Last Post: Larz60+ Python timer script stops before should ozstar 3 870 May-04-2020, 12:55 AM Last Post: ozstar Python stops without errors shahgourav 4 1,057 Feb-04-2020, 11:44 PM Last Post: micseydel Changing a variable's name on each iteration of a loop rix 6 24,356 Jan-03-2020, 07:06 AM Last Post: perfringo help with changing values in an excel sheet and saving to a new file Moneyman212 2 1,090 Nov-19-2019, 06:25 AM Last Post: Moneyman212 Inheriting, given number from randint is not working beLIEve 0 636 Oct-12-2019, 06:50 PM Last Post: beLIEve

Forum Jump:

### User Panel Messages

##### Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020