While loops with nested if statements; Eliminating multiple prints and exiting the loop
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
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
add a comment |
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
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
add a comment |
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
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
python loops while-loop conditional
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
add a comment |
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
add a comment |
1 Answer
1
active
oldest
votes
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)
Awesome man thank you!
– John Ketterer
Nov 22 '18 at 7:40
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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)
Awesome man thank you!
– John Ketterer
Nov 22 '18 at 7:40
add a comment |
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)
Awesome man thank you!
– John Ketterer
Nov 22 '18 at 7:40
add a comment |
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)
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)
edited Nov 22 '18 at 7:03
answered Nov 22 '18 at 6:48
Sandesh34Sandesh34
264113
264113
Awesome man thank you!
– John Ketterer
Nov 22 '18 at 7:40
add a comment |
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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