본문 바로가기
파이썬

파이썬 내 스크립트에 구문 오류가 있지만 이유와 해결 방법을 알 수 없습니다.>

by º기록 2020. 9. 14.
반응형

사용자가 곡명을 추측해야하는 게임을 만들려고합니다. 그들은 첫 번째 시도에서 3 점을 받아야합니다.

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")

이것은 코드의 채점 부분이며 어떤 이유로 라인에

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

그것은 구문 오류로 나타나고 왜 그리고 어떻게 해결할 수 있는지 알 수 없습니다.

지금까지 참조 할 수있는 전체 코드입니다.

# 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")
    ```

 

해결 방법

 

else elif 로 변경하고 다음과 같이 들여 쓰기를 추가해야합니다.

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")

또는 동일한 작업을 수행하면서 더 깨끗한 코드를 유지하는 else 를 추가 할 수 있습니다.

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

 

참조 페이지 https://stackoverflow.com/questions/63756321

 

 

반응형

댓글