简体   繁体   中英

My script comes up with syntax error but I can't figure out why and how to fix it>

I am trying to make a game where the user has to guess the name of the song. They are supposed to get 3 points on the first try.

players_score = 0
first_guess = input ('Enter your first guess: ')
if first_guess==song_name[number[0]]:
    print("Well done! You've earned 3 points")
    players_score= players_score + 3
else first_guess!=song_name[number[0]]:
print("Try again")

This is my scoring part of the code and for some reason on the line

else first_guess!=song_name[number[0]]:

it comes up as syntax error and I can't figure out why and how can I fix it.

This is the whole code so far for reference:

# welcoming them to the game
print("Hi, welcome to the game. Before we start, please enter your details so we can verify you are eligible to play. Thanks!")

# input age
password = int(input("Enter password: "))

#checking if the password
if password==1234:
    print("Enjoy the game!")
else:
    print("Try again")
    
    
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

my_url = 'https://www.officialcharts.com/charts/uk-top-40-singles-chart/'

#opening connection, grabbing page
uClient = uReq (my_url)
page_html = uClient.read()
uClient.close()

#html parsing
page_soup = soup(page_html, "html.parser")
#print (page_soup.p)
 
#grabs each section
containers = page_soup.findAll('div' ,{"class":"title-artist"})

spans = page_soup.findAll('span' ,{"class":"position"})  

# isolates song artist and name
a_tags = [container.findAll('a') for container in containers]
song_name =  [i[0].text for i in a_tags]
song_artist = [i[1].text for i in a_tags]



import random
exampleList = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]
sampled_list2 = random.sample(exampleList, 1)
number = sampled_list2
random_song_name = song_name[number[0]]
random_song_artist = song_artist[number[0]]
 
meme = WAP
   
for part in number:
        print(random_song_name[0].upper() + ". ", end="")
        print()
        print (random_song_artist)
  
players_score = 0
first_guess = input ('Enter your first guess: ')
if first_guess==song_name[number[0]]:
    print("Well done! You've earned 3 points")
    players_score= players_score + 3
else first_guess!=song_name[number[0]]:
print("Try again")
    ```

You need to change else to elif and add an indentation on the next line like so:

if first_guess==song_name[number[0]]:
    print("Well done! You've earned 3 points")
    players_score= players_score + 3
elif first_guess!=song_name[number[0]]:
    print("Try again")

Or you could just add else which will maintain cleaner code while doing the same thing:

if first_guess==song_name[number[0]]:
    print("Well done! You've earned 3 points")
    players_score= players_score + 3
else:
    print("Try again")

而不是使用else first_guess!=song_name[number[0]]:尝试只使用else

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