我必須創建一個猜謎游戲,每個用戶創建一個電影庫,然后另一個人必須猜一個電影標題。
我將電影保存到 csv 檔案中。我正在嘗試創建一個用戶猜測的函式,如果在 csv 中找到電影名稱,則列印“恭喜”,否則“再次猜測”。我讓它讀取檔案,但它再次回傳猜測或祝賀檔案中的每個欄位。我怎樣才能只退貨一次?如果它在任何領域列印恭喜,或者如果它不在任何領域,那么再猜一次,但只猜一次。我不想讓它按特定的行號搜索,因為它可以在任何行中找到。
這是我當前使用的函式,其中參考的 csv 檔案是另一個播放器的電影標題串列。
def guessingPlayer1v3(num_guesses):
for guess in range(0, num_guesses):
Guess=input("Movie title guess: ") #players guess
Guess=Guess.lower().strip() #guess to search for
with open('collection2.csv', 'r') as f_obj:
reader=csv.reader(f_obj, delimiter=',')
for row in reader:
for field in row:
if field == Guess:
print("Congrats, you guessed a title")
else:
print("Guess Again")
它正在回傳:
Movie title guess: cat in the hat
Guess Again
Guess Again
Guess Again
Guess Again
Guess Again
Guess Again
Movie title guess: all dogs go to heaven
Guess Again
Guess Again
Guess Again
Congrats, you guessed a title
Guess Again
Guess Again
uj5u.com熱心網友回復:
有兩個print 陳述句,第一個確定玩家輸入是否正確,第二個顯示每一行"Guess Again",else修改陳述句和添加return陳述句將避免這種情況,一旦名稱存盤在變數上,只需遍歷所有行并進行比較。 ..
for row in reader:
for field in row:
if field == Guess:
print("Congrats, you guessed a title")
return
print("Guess Again") # if movie is not in file
uj5u.com熱心網友回復:
你可以嘗試這樣的事情:
import csv
listOfMovies = []
with open('collection2.csv', newline='') as f:
reader = list(csv.reader(f))
for line in reader:
listOfMovies.append(line[0])
def guessingPlayer1v3(num_guesses):
for guess in range(0, num_guesses):
Guess=input("Movie title guess: ").lower().strip()
if Guess in listOfMovies:
print("Congrats, you guessed a title")
break
else:
print("Guess Again")
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/464544.html
上一篇:Python中CSV檔案所有列的唯一元素而不使用Pandas
下一篇:python讀取csv錯誤
