Home > Net >  I've just started python and I'm trying to make a Rock ,Paper ,Scissors game and I can
I've just started python and I'm trying to make a Rock ,Paper ,Scissors game and I can

Time:01-31

Here is my code if anyone can help then that would be greatly apricated.

import random

a = ["rock", "paper", "scissors"]

def game():
    while True:
        try:
            word = input('Enter rock, paper, or scissors: ')
            if word not in a:
                raise ValueError # this will send it to the print message and back to the input option
            break 
          
        except ValueError:
            print(" You must enter rock, paper, or scissors.")


    comp_draw = random.choice(a)
    print('The computer drew '   comp_draw)

    if comp_draw == 'rock' and word =='rock':
        print('It was a tie')
    elif comp_draw == 'paper' and word =='paper':
        print('It was a tie')
    elif comp_draw == 'scissors' and word =='scissors':
        print('It was a tie')
    elif comp_draw == 'paper' and word =='rock':
        print('GAME OVER')
    elif comp_draw == 'rock' and word =='paper':
        print('you won!')
    elif comp_draw == 'rock' and word =='scissors':
        print('GAME OVER')
    elif comp_draw == 'scissors' and word =='rock':
        print('you won!')
    elif comp_draw == 'scissors' and word =='paper':
        print('GAME OVER')
    elif comp_draw == 'scissors' and word =='rock':
        print('you won!')


if __name__ == "__main__":
    game()
    while True:
        if input('Would you like to play_again? ') == 'yes':
            game()
        else:
          break
        
      font = 'Arial (sans-serif)' : 'normal' 
        'weight' : 'bold',
        'size'   : 99} 

This is how I've tried to change the font

font = 'Arial (sans-serif)' : 'normal' 
        'weight' : 'bold',
        'size'   : 99} 

This is the error message I've received

IndentationError: unindent does not match any outer indentation level on line 48 font = 'Arial (sans-serif)' : 'normal' ^ in main.py

CodePudding user response:

For the code to work, you need to unindent font, add a comma after 'normal' and add an opening brace:

if __name__ == "__main__":
    game()
    while True:
        if input('Would you like to play_again? ') == 'yes':
            game()
        else:
          break
        
font = {'Arial (sans-serif)' : 'normal' ,
       'weight' : 'bold',
       'size'   : 99} 

However, you are not using the font variable so it won't change anything. As has been mentioned, if you are printing to the terminal you can't change the font in python.

CodePudding user response:

Unfortunately, there isn’t an easy way for changing the printed font and it’s size through Python. You can try changing the console font and size using the shell’s api, but this is very platform specific and isn’t easy to set up.

What you can do, is use a simple graphics library like pygame, where you can output graphics from your python application. You can check out this docs to learn how to use fonts in pygame.

  • Related