简体   繁体   中英

I've just started python and I'm trying to make a Rock ,Paper ,Scissors game and I can't work out how to change the font and its size

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

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM