Python, Rock, Paper, Scissor Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Rock, Paper, Scissors in PythonScissors, Paper, Rock in PythonPangrams python implementationPython rock paper scissorsRounding a number up to the nearest multiple of a power of 2Rock, Paper, Scissors - Python gameRock, Paper Scissor game (console-based) in PythonRock Paper Scissors in PythonPython 3 Rock, Paper, ScissorsPython Rock Paper Scissors sqlite

Why wasn't DOSKEY integrated with COMMAND.COM?

Generate an RGB colour grid

How do I find out the mythology and history of my Fortress?

Why does the resolve message appear first?

Do square wave exist?

Is the Standard Deduction better than Itemized when both are the same amount?

Amount of permutations on an NxNxN Rubik's Cube

Is "Reachable Object" really an NP-complete problem?

Would "destroying" Wurmcoil Engine prevent its tokens from being created?

What does the "x" in "x86" represent?

Why do we bend a book to keep it straight?

What's the meaning of "fortified infraction restraint"?

Significance of Cersei's obsession with elephants?

Is there such thing as an Availability Group failover trigger?

Why are both D and D# fitting into my E minor key?

Do wooden building fires get hotter than 600°C?

How to answer "Have you ever been terminated?"

How to react to hostile behavior from a senior developer?

Is it fair for a professor to grade us on the possession of past papers?

Is CEO the profession with the most psychopaths?

2001: A Space Odyssey's use of the song "Daisy Bell" (Bicycle Built for Two); life imitates art or vice-versa?

What do you call the main part of a joke?

For a new assistant professor in CS, how to build/manage a publication pipeline

Is there a kind of relay only consumes power when switching?



Python, Rock, Paper, Scissor



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Rock, Paper, Scissors in PythonScissors, Paper, Rock in PythonPangrams python implementationPython rock paper scissorsRounding a number up to the nearest multiple of a power of 2Rock, Paper, Scissors - Python gameRock, Paper Scissor game (console-based) in PythonRock Paper Scissors in PythonPython 3 Rock, Paper, ScissorsPython Rock Paper Scissors sqlite



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1












$begingroup$


Recently i wanted to test my Python knowledge so I'm taking some challenges. I came across a Rock Paper Scissor challenge and I wanted to make it with less code and reuse the same code over and over. The code below is what I have written so far and it works great. I just want to get your opinions: what can i do better?



rules = 
'rock':
'scissor': 'smashes'
,
'paper':
'rock': 'packs'
,
'scissor':
'paper': 'cuts'



player_one = input("P1 | Rock, Paper or Scissor: ").lower()
player_two = input("P2 | Rock, Paper or Scissor: ").lower()


def play(p1, p2):
if p1 in rules:
if p2 in rules[p1]:
print(" ".format(p1, rules[p1][p2], p2))

if p2 in rules:
if p1 in rules[p2]:
print(" ".format(p2, rules[p2][p1], p1))

if p1 not in rules or p2 not in rules:
print("Invalid input")


if __name__ == '__main__':
play(player_one, player_two)









share|improve this question









New contributor




Johnny Niklasson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$


















    1












    $begingroup$


    Recently i wanted to test my Python knowledge so I'm taking some challenges. I came across a Rock Paper Scissor challenge and I wanted to make it with less code and reuse the same code over and over. The code below is what I have written so far and it works great. I just want to get your opinions: what can i do better?



    rules = 
    'rock':
    'scissor': 'smashes'
    ,
    'paper':
    'rock': 'packs'
    ,
    'scissor':
    'paper': 'cuts'



    player_one = input("P1 | Rock, Paper or Scissor: ").lower()
    player_two = input("P2 | Rock, Paper or Scissor: ").lower()


    def play(p1, p2):
    if p1 in rules:
    if p2 in rules[p1]:
    print(" ".format(p1, rules[p1][p2], p2))

    if p2 in rules:
    if p1 in rules[p2]:
    print(" ".format(p2, rules[p2][p1], p1))

    if p1 not in rules or p2 not in rules:
    print("Invalid input")


    if __name__ == '__main__':
    play(player_one, player_two)









    share|improve this question









    New contributor




    Johnny Niklasson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$














      1












      1








      1





      $begingroup$


      Recently i wanted to test my Python knowledge so I'm taking some challenges. I came across a Rock Paper Scissor challenge and I wanted to make it with less code and reuse the same code over and over. The code below is what I have written so far and it works great. I just want to get your opinions: what can i do better?



      rules = 
      'rock':
      'scissor': 'smashes'
      ,
      'paper':
      'rock': 'packs'
      ,
      'scissor':
      'paper': 'cuts'



      player_one = input("P1 | Rock, Paper or Scissor: ").lower()
      player_two = input("P2 | Rock, Paper or Scissor: ").lower()


      def play(p1, p2):
      if p1 in rules:
      if p2 in rules[p1]:
      print(" ".format(p1, rules[p1][p2], p2))

      if p2 in rules:
      if p1 in rules[p2]:
      print(" ".format(p2, rules[p2][p1], p1))

      if p1 not in rules or p2 not in rules:
      print("Invalid input")


      if __name__ == '__main__':
      play(player_one, player_two)









      share|improve this question









      New contributor




      Johnny Niklasson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      Recently i wanted to test my Python knowledge so I'm taking some challenges. I came across a Rock Paper Scissor challenge and I wanted to make it with less code and reuse the same code over and over. The code below is what I have written so far and it works great. I just want to get your opinions: what can i do better?



      rules = 
      'rock':
      'scissor': 'smashes'
      ,
      'paper':
      'rock': 'packs'
      ,
      'scissor':
      'paper': 'cuts'



      player_one = input("P1 | Rock, Paper or Scissor: ").lower()
      player_two = input("P2 | Rock, Paper or Scissor: ").lower()


      def play(p1, p2):
      if p1 in rules:
      if p2 in rules[p1]:
      print(" ".format(p1, rules[p1][p2], p2))

      if p2 in rules:
      if p1 in rules[p2]:
      print(" ".format(p2, rules[p2][p1], p1))

      if p1 not in rules or p2 not in rules:
      print("Invalid input")


      if __name__ == '__main__':
      play(player_one, player_two)






      python rock-paper-scissors






      share|improve this question









      New contributor




      Johnny Niklasson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Johnny Niklasson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 14 mins ago









      200_success

      131k17157422




      131k17157422






      New contributor




      Johnny Niklasson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 20 mins ago









      Johnny NiklassonJohnny Niklasson

      61




      61




      New contributor




      Johnny Niklasson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Johnny Niklasson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Johnny Niklasson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          1 Answer
          1






          active

          oldest

          votes


















          0












          $begingroup$

          Perform the validation first, to eliminate redundant conditionals.



          def play(p1, p2):
          if p1 not in rules or p2 not in rules:
          print("Invalid input")
          elif p2 in rules[p1]:
          print(" ".format(p1, rules[p1][p2], p2))
          elif p1 in rules[p2]:
          print(" ".format(p2, rules[p2][p1], p1))




          share









          $endgroup$













            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: "196"
            ;
            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: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            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
            );



            );






            Johnny Niklasson is a new contributor. Be nice, and check out our Code of Conduct.









            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f217645%2fpython-rock-paper-scissor%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












            $begingroup$

            Perform the validation first, to eliminate redundant conditionals.



            def play(p1, p2):
            if p1 not in rules or p2 not in rules:
            print("Invalid input")
            elif p2 in rules[p1]:
            print(" ".format(p1, rules[p1][p2], p2))
            elif p1 in rules[p2]:
            print(" ".format(p2, rules[p2][p1], p1))




            share









            $endgroup$

















              0












              $begingroup$

              Perform the validation first, to eliminate redundant conditionals.



              def play(p1, p2):
              if p1 not in rules or p2 not in rules:
              print("Invalid input")
              elif p2 in rules[p1]:
              print(" ".format(p1, rules[p1][p2], p2))
              elif p1 in rules[p2]:
              print(" ".format(p2, rules[p2][p1], p1))




              share









              $endgroup$















                0












                0








                0





                $begingroup$

                Perform the validation first, to eliminate redundant conditionals.



                def play(p1, p2):
                if p1 not in rules or p2 not in rules:
                print("Invalid input")
                elif p2 in rules[p1]:
                print(" ".format(p1, rules[p1][p2], p2))
                elif p1 in rules[p2]:
                print(" ".format(p2, rules[p2][p1], p1))




                share









                $endgroup$



                Perform the validation first, to eliminate redundant conditionals.



                def play(p1, p2):
                if p1 not in rules or p2 not in rules:
                print("Invalid input")
                elif p2 in rules[p1]:
                print(" ".format(p1, rules[p1][p2], p2))
                elif p1 in rules[p2]:
                print(" ".format(p2, rules[p2][p1], p1))





                share











                share


                share










                answered 9 mins ago









                200_success200_success

                131k17157422




                131k17157422




















                    Johnny Niklasson is a new contributor. Be nice, and check out our Code of Conduct.









                    draft saved

                    draft discarded


















                    Johnny Niklasson is a new contributor. Be nice, and check out our Code of Conduct.












                    Johnny Niklasson is a new contributor. Be nice, and check out our Code of Conduct.











                    Johnny Niklasson is a new contributor. Be nice, and check out our Code of Conduct.














                    Thanks for contributing an answer to Code Review Stack Exchange!


                    • 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.

                    Use MathJax to format equations. MathJax reference.


                    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%2fcodereview.stackexchange.com%2fquestions%2f217645%2fpython-rock-paper-scissor%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

                    名間水力發電廠 目录 沿革 設施 鄰近設施 註釋 外部連結 导航菜单23°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.7113923°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.71139計畫概要原始内容臺灣第一座BOT 模式開發的水力發電廠-名間水力電廠名間水力發電廠 水利署首件BOT案原始内容《小檔案》名間電廠 首座BOT水力發電廠原始内容名間電廠BOT - 經濟部水利署中區水資源局

                    Prove that NP is closed under karp reduction?Space(n) not closed under Karp reductions - what about NTime(n)?Class P is closed under rotation?Prove or disprove that $NL$ is closed under polynomial many-one reductions$mathbfNC_2$ is closed under log-space reductionOn Karp reductionwhen can I know if a class (complexity) is closed under reduction (cook/karp)Check if class $PSPACE$ is closed under polyonomially space reductionIs NPSPACE also closed under polynomial-time reduction and under log-space reduction?Prove PSPACE is closed under complement?Prove PSPACE is closed under union?

                    Is my guitar’s action too high? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Strings too stiff on a recently purchased acoustic guitar | Cort AD880CEIs the action of my guitar really high?Μy little finger is too weak to play guitarWith guitar, how long should I give my fingers to strengthen / callous?When playing a fret the guitar sounds mutedPlaying (Barre) chords up the guitar neckI think my guitar strings are wound too tight and I can't play barre chordsF barre chord on an SG guitarHow to find to the right strings of a barre chord by feel?High action on higher fret on my steel acoustic guitar