Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Good enough?
#1
Hi, im new to this whole programming thing. So for my first uni project we had to make a rock paper scissors game. Would this be acceptable though? Or should i expand it somehow?

import random
import time

score_player = 0
score_comp = 0
play = True

def comp():
    global comp_ans
    mylist = ["r", "p", "s"]
    comp_ans = random.choice(mylist)

def winner():
    global score_comp
    global score_player 

    # Setting up logic for winning for player and comp
    if answer == "r" and comp_ans == "s":
        print("\n-------------------" + "        "f"score: {score_player}, losses : {score_comp}")
        print(f"{answer} vs {comp_ans}")
        print("-------------------\n")
        print("Player wins!")
        score_player += 1
    elif answer == "s" and comp_ans == "r":
        print("\n-------------------" + "        "f"score: {score_player}, losses : {score_comp}")
        print(f"{answer} vs {comp_ans}")
        print("-------------------\n")
        print("Comp wins!")
        score_comp += 1

    elif answer == "s" and comp_ans == "p":
        print("\n-------------------" + "        "f"score: {score_player}, losses : {score_comp}")
        print(f"{answer} vs {comp_ans}")
        print("-------------------\n")
        print("Player wins!")
        score_player += 1
    elif answer == "p" and comp_ans == "s":
        print("\n-------------------" + "        "f"score: {score_player}, losses : {score_comp}")
        print(f"{answer} vs {comp_ans}")
        print("-------------------\n")
        print("Comp wins!")
        score_comp += 1

    elif answer == "p" and comp_ans == "r":
        print("\n-------------------" + "        "f"score: {score_player}, losses : {score_comp}")
        print(f"{answer} vs {comp_ans}")
        print("-------------------\n")
        print("Player wins!")
        score_player += 1
    elif answer == "r" and comp_ans == "p":
        print("\n-------------------" + "        "f"score: {score_player}, losses : {score_comp}")
        print(f"{answer} vs {comp_ans}")
        print("-------------------\n")
        print("Comp wins!")
        score_comp += 1

    elif answer != "p" and answer != "r" and answer != "s":
        print("\n-------------------" + "        "f"score: {score_player}, losses : {score_comp}")
        print("Not a valid input!")

    else:
        print("\n-------------------" + "        "f"score: {score_player}, losses : {score_comp}")
        print(f"{answer} vs {comp_ans}")
        print("-------------------\n")
        print("Tied!")

def run():
    global answer
    comp()   
    answer = input("\nChoose between: r, p or s: \n")
    answer = answer.lower()
    winner()


while play:
    run()

    if answer != "p" and answer != "r" and answer != "s":
        pass
    else:
        answer = input("Would you like to play again? yes or no?: \n")
        answer = answer.lower()
    
        if answer == "yes" or answer == "y":
            pass
        else:
            print("Thank you for playing!\n")            
            time.sleep(1)
            break
Reply
#2
Wouldn't those be questions for the person setting the assignment, rather than some random people on the Internet?
Reply


Forum Jump:

User Panel Messages

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