While loops with nested if statements; Eliminating multiple prints and exiting the loop












-1















One crummy thing that happens is "rock" will sometimes not produce any results. Sometimes I will play the game and it will work just fine and other times the loop will end and zero games would have been played.
If you could please use code within the program so I can learn where my mistakes were and then after that I would appreciate some tweaking to make it efficient. I think the order of nested conditionals within while loops is what I am struggling with? Please excuse the language.



"""Rock, Paper, Scissors Exercise 8"""
game= input("Are you ready to ply? Y or N: ").capitalize()
user1 = input("What's your name? ")
user2 = input("What's your name? ")
p1 = input(user1 + ": Rock, Paper, Scissors? ").lower()
p2 = input(user2 + ": Rock, Paper, Scissors? ").lower()
p1_count=0
p2_count=0
games_played = 0

while game == "Y":
if p1 == "rock":
if p2 == "rock":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "scissors":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "paper":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "scissors":
if p2 == "scissors":
print("It's a tie!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "paper":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p1 == "paper":
if p2 == "paper":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "scissors":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1


print("Thank you " + user1 + " and " + user2 + " for playing this classic fucking
game!")
print("With " + str(games_played) + " games played, " + "the score was " + user1 + "
with " + str(p1_count) + " and " + user2 + " with " + str(p2_count))









share|improve this question




















  • 1





    Way too much text sorry; can you reduce it to the pertinent points please?

    – roganjosh
    Nov 22 '18 at 6:44











  • I bolded the relevant bits. Consider reducing/removing all the surrounding text so folks have less to read through.

    – Mateen Ulhaq
    Nov 22 '18 at 6:48


















-1















One crummy thing that happens is "rock" will sometimes not produce any results. Sometimes I will play the game and it will work just fine and other times the loop will end and zero games would have been played.
If you could please use code within the program so I can learn where my mistakes were and then after that I would appreciate some tweaking to make it efficient. I think the order of nested conditionals within while loops is what I am struggling with? Please excuse the language.



"""Rock, Paper, Scissors Exercise 8"""
game= input("Are you ready to ply? Y or N: ").capitalize()
user1 = input("What's your name? ")
user2 = input("What's your name? ")
p1 = input(user1 + ": Rock, Paper, Scissors? ").lower()
p2 = input(user2 + ": Rock, Paper, Scissors? ").lower()
p1_count=0
p2_count=0
games_played = 0

while game == "Y":
if p1 == "rock":
if p2 == "rock":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "scissors":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "paper":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "scissors":
if p2 == "scissors":
print("It's a tie!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "paper":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p1 == "paper":
if p2 == "paper":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "scissors":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1


print("Thank you " + user1 + " and " + user2 + " for playing this classic fucking
game!")
print("With " + str(games_played) + " games played, " + "the score was " + user1 + "
with " + str(p1_count) + " and " + user2 + " with " + str(p2_count))









share|improve this question




















  • 1





    Way too much text sorry; can you reduce it to the pertinent points please?

    – roganjosh
    Nov 22 '18 at 6:44











  • I bolded the relevant bits. Consider reducing/removing all the surrounding text so folks have less to read through.

    – Mateen Ulhaq
    Nov 22 '18 at 6:48
















-1












-1








-1








One crummy thing that happens is "rock" will sometimes not produce any results. Sometimes I will play the game and it will work just fine and other times the loop will end and zero games would have been played.
If you could please use code within the program so I can learn where my mistakes were and then after that I would appreciate some tweaking to make it efficient. I think the order of nested conditionals within while loops is what I am struggling with? Please excuse the language.



"""Rock, Paper, Scissors Exercise 8"""
game= input("Are you ready to ply? Y or N: ").capitalize()
user1 = input("What's your name? ")
user2 = input("What's your name? ")
p1 = input(user1 + ": Rock, Paper, Scissors? ").lower()
p2 = input(user2 + ": Rock, Paper, Scissors? ").lower()
p1_count=0
p2_count=0
games_played = 0

while game == "Y":
if p1 == "rock":
if p2 == "rock":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "scissors":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "paper":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "scissors":
if p2 == "scissors":
print("It's a tie!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "paper":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p1 == "paper":
if p2 == "paper":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "scissors":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1


print("Thank you " + user1 + " and " + user2 + " for playing this classic fucking
game!")
print("With " + str(games_played) + " games played, " + "the score was " + user1 + "
with " + str(p1_count) + " and " + user2 + " with " + str(p2_count))









share|improve this question
















One crummy thing that happens is "rock" will sometimes not produce any results. Sometimes I will play the game and it will work just fine and other times the loop will end and zero games would have been played.
If you could please use code within the program so I can learn where my mistakes were and then after that I would appreciate some tweaking to make it efficient. I think the order of nested conditionals within while loops is what I am struggling with? Please excuse the language.



"""Rock, Paper, Scissors Exercise 8"""
game= input("Are you ready to ply? Y or N: ").capitalize()
user1 = input("What's your name? ")
user2 = input("What's your name? ")
p1 = input(user1 + ": Rock, Paper, Scissors? ").lower()
p2 = input(user2 + ": Rock, Paper, Scissors? ").lower()
p1_count=0
p2_count=0
games_played = 0

while game == "Y":
if p1 == "rock":
if p2 == "rock":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "scissors":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "paper":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "scissors":
if p2 == "scissors":
print("It's a tie!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "paper":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p1 == "paper":
if p2 == "paper":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "scissors":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1


print("Thank you " + user1 + " and " + user2 + " for playing this classic fucking
game!")
print("With " + str(games_played) + " games played, " + "the score was " + user1 + "
with " + str(p1_count) + " and " + user2 + " with " + str(p2_count))






python loops while-loop conditional






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 22 '18 at 7:37







John Ketterer

















asked Nov 22 '18 at 6:40









John KettererJohn Ketterer

154




154








  • 1





    Way too much text sorry; can you reduce it to the pertinent points please?

    – roganjosh
    Nov 22 '18 at 6:44











  • I bolded the relevant bits. Consider reducing/removing all the surrounding text so folks have less to read through.

    – Mateen Ulhaq
    Nov 22 '18 at 6:48
















  • 1





    Way too much text sorry; can you reduce it to the pertinent points please?

    – roganjosh
    Nov 22 '18 at 6:44











  • I bolded the relevant bits. Consider reducing/removing all the surrounding text so folks have less to read through.

    – Mateen Ulhaq
    Nov 22 '18 at 6:48










1




1





Way too much text sorry; can you reduce it to the pertinent points please?

– roganjosh
Nov 22 '18 at 6:44





Way too much text sorry; can you reduce it to the pertinent points please?

– roganjosh
Nov 22 '18 at 6:44













I bolded the relevant bits. Consider reducing/removing all the surrounding text so folks have less to read through.

– Mateen Ulhaq
Nov 22 '18 at 6:48







I bolded the relevant bits. Consider reducing/removing all the surrounding text so folks have less to read through.

– Mateen Ulhaq
Nov 22 '18 at 6:48














1 Answer
1






active

oldest

votes


















0














game= input("Are you ready to ply? Y or N: ").capitalize()
user1 = input("What's your name? ")
user2 = input("What's your name? ")

p1_count=0
p2_count=0
games_played = 0

while game == "Y":
p1 = input(user1 + ": Rock, Paper, Scissors? ").lower()
p2 = input(user2 + ": Rock, Paper, Scissors? ").lower()
if p1 == "rock":
if p2 == "rock":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "scissors":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "paper":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "scissors":
if p2 == "scissors":
print("It's a tie!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "paper":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "paper":
if p2 == "paper":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "scissors":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p2_count += 1
games_played += 1


print("Thank you " + user1 + " and " + user2 + " for playing this classic fucking game!")
print("With " + str(games_played) + " games played, " + "the score was " + user1 + " with " + str(p1_count) + " and " + user2 + " with " + str(p2_count))


Just put these two lines (p1 and p2) inside the while loop, and you're done!



What happened in here is that, you didn't take input for the next execution of while loop. So the values of p1 and p2 remained constant.



So, This will work now, Corrected some mistakes.. (last elif statement in the 2nd and 3rd elif statements)






share|improve this answer


























  • Awesome man thank you!

    – John Ketterer
    Nov 22 '18 at 7:40











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53425196%2fwhile-loops-with-nested-if-statements-eliminating-multiple-prints-and-exiting-t%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














game= input("Are you ready to ply? Y or N: ").capitalize()
user1 = input("What's your name? ")
user2 = input("What's your name? ")

p1_count=0
p2_count=0
games_played = 0

while game == "Y":
p1 = input(user1 + ": Rock, Paper, Scissors? ").lower()
p2 = input(user2 + ": Rock, Paper, Scissors? ").lower()
if p1 == "rock":
if p2 == "rock":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "scissors":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "paper":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "scissors":
if p2 == "scissors":
print("It's a tie!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "paper":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "paper":
if p2 == "paper":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "scissors":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p2_count += 1
games_played += 1


print("Thank you " + user1 + " and " + user2 + " for playing this classic fucking game!")
print("With " + str(games_played) + " games played, " + "the score was " + user1 + " with " + str(p1_count) + " and " + user2 + " with " + str(p2_count))


Just put these two lines (p1 and p2) inside the while loop, and you're done!



What happened in here is that, you didn't take input for the next execution of while loop. So the values of p1 and p2 remained constant.



So, This will work now, Corrected some mistakes.. (last elif statement in the 2nd and 3rd elif statements)






share|improve this answer


























  • Awesome man thank you!

    – John Ketterer
    Nov 22 '18 at 7:40
















0














game= input("Are you ready to ply? Y or N: ").capitalize()
user1 = input("What's your name? ")
user2 = input("What's your name? ")

p1_count=0
p2_count=0
games_played = 0

while game == "Y":
p1 = input(user1 + ": Rock, Paper, Scissors? ").lower()
p2 = input(user2 + ": Rock, Paper, Scissors? ").lower()
if p1 == "rock":
if p2 == "rock":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "scissors":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "paper":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "scissors":
if p2 == "scissors":
print("It's a tie!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "paper":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "paper":
if p2 == "paper":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "scissors":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p2_count += 1
games_played += 1


print("Thank you " + user1 + " and " + user2 + " for playing this classic fucking game!")
print("With " + str(games_played) + " games played, " + "the score was " + user1 + " with " + str(p1_count) + " and " + user2 + " with " + str(p2_count))


Just put these two lines (p1 and p2) inside the while loop, and you're done!



What happened in here is that, you didn't take input for the next execution of while loop. So the values of p1 and p2 remained constant.



So, This will work now, Corrected some mistakes.. (last elif statement in the 2nd and 3rd elif statements)






share|improve this answer


























  • Awesome man thank you!

    – John Ketterer
    Nov 22 '18 at 7:40














0












0








0







game= input("Are you ready to ply? Y or N: ").capitalize()
user1 = input("What's your name? ")
user2 = input("What's your name? ")

p1_count=0
p2_count=0
games_played = 0

while game == "Y":
p1 = input(user1 + ": Rock, Paper, Scissors? ").lower()
p2 = input(user2 + ": Rock, Paper, Scissors? ").lower()
if p1 == "rock":
if p2 == "rock":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "scissors":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "paper":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "scissors":
if p2 == "scissors":
print("It's a tie!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "paper":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "paper":
if p2 == "paper":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "scissors":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p2_count += 1
games_played += 1


print("Thank you " + user1 + " and " + user2 + " for playing this classic fucking game!")
print("With " + str(games_played) + " games played, " + "the score was " + user1 + " with " + str(p1_count) + " and " + user2 + " with " + str(p2_count))


Just put these two lines (p1 and p2) inside the while loop, and you're done!



What happened in here is that, you didn't take input for the next execution of while loop. So the values of p1 and p2 remained constant.



So, This will work now, Corrected some mistakes.. (last elif statement in the 2nd and 3rd elif statements)






share|improve this answer















game= input("Are you ready to ply? Y or N: ").capitalize()
user1 = input("What's your name? ")
user2 = input("What's your name? ")

p1_count=0
p2_count=0
games_played = 0

while game == "Y":
p1 = input(user1 + ": Rock, Paper, Scissors? ").lower()
p2 = input(user2 + ": Rock, Paper, Scissors? ").lower()
if p1 == "rock":
if p2 == "rock":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "scissors":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "paper":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "scissors":
if p2 == "scissors":
print("It's a tie!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
p2_count += 1
games_played += 1
elif p2 == "paper":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to play? Y or N: ").capitalize()
p2_count += 1
games_played += 1
elif p1 == "paper":
if p2 == "paper":
print("It's a tie!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "rock":
print(user2 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p1_count += 1
games_played += 1
elif p2 == "scissors":
print(user1 + ", you got beat mothafucka!")
game = input("Are you ready to ply? Y or N: ").capitalize()
p2_count += 1
games_played += 1


print("Thank you " + user1 + " and " + user2 + " for playing this classic fucking game!")
print("With " + str(games_played) + " games played, " + "the score was " + user1 + " with " + str(p1_count) + " and " + user2 + " with " + str(p2_count))


Just put these two lines (p1 and p2) inside the while loop, and you're done!



What happened in here is that, you didn't take input for the next execution of while loop. So the values of p1 and p2 remained constant.



So, This will work now, Corrected some mistakes.. (last elif statement in the 2nd and 3rd elif statements)







share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 22 '18 at 7:03

























answered Nov 22 '18 at 6:48









Sandesh34Sandesh34

254113




254113













  • Awesome man thank you!

    – John Ketterer
    Nov 22 '18 at 7:40



















  • Awesome man thank you!

    – John Ketterer
    Nov 22 '18 at 7:40

















Awesome man thank you!

– John Ketterer
Nov 22 '18 at 7:40





Awesome man thank you!

– John Ketterer
Nov 22 '18 at 7:40




















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53425196%2fwhile-loops-with-nested-if-statements-eliminating-multiple-prints-and-exiting-t%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

"Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

Alcedinidae

RAC Tourist Trophy