簡體   English   中英

試圖構建一個簡單的瑣事類型游戲。 Python的新手。

[英]Trying to build a simple trivia type game. New to Python.

我正在嘗試創建一個我小時候玩過的游戲。 游戲的前提是有一群球員,他們輪流猜測棒球選手。 您不僅可以隨機猜測玩家,還可以使用先前猜測的玩家的姓氏首字母來猜測玩家。 例如,如果玩家猜到了亞歷克斯·羅德里格斯(Alex Rodriguez),那么可以接受的跟進猜測就是蘭迪·約翰遜(Randy Johnson)。 如果玩家不正確,他們將退出比賽。 這是一個簡單的游戲,我想用它來學習python。 我一直在從Code Academy和《艱苦學習Python》編寫教程,但是現在我准備開始創建一些東西。 到目前為止,我所得到的是某種可以起作用的方法,但是我想不出一種方法來從網站中引入玩家數據庫,以及如何刪除玩家並正確地創建關於玩家猜測的回合。 我已經包含了我的代碼,我希望那里的人能夠幫助我指導我的第一個項目!

def players(name):
    name_total = float(name)
    print name_total
    player = []
    while name_total > 0:
        player_name = raw_input("Enter Player Name ")
        player.append(player_name)
        name_total -= 1
    print player

player_database = ['Barry Bonds', 'Alex Rodriguez', 'Brad Ausmus']

def guess(player_guess):
    player_guess = player_guess
    if player_guess in player_database:
        print "Good guess!!"
        player_database.remove(player_guess)
        while player_database > 1:
            guess(raw_input("Guess a player"))
    else:
        print "You lose"
    return player_database


players(raw_input("How many players? "))
guess(raw_input("Guess a player "))

問題出在第二陣子。 您的遞歸函數被無限次調用,從而使程序中斷。 應該是...

試試這個代碼:

def players(name):
    name_total = float(name)
    print name_total
    player = []
    while name_total > 0:
        player_name = raw_input("Enter Player Name ")
        player.append(player_name)
        name_total -= 1
    print player

player_database = ['Barry Bonds', 'Alex Rodriguez', 'Brad Ausmus']

def guess(player_guess):
    player_guess = player_guess
    if player_guess in player_database:
        print "Good guess!!"
        player_database.remove(player_guess)
        if player_database > 1:
            guess(raw_input("Guess a player"))
    else:
        print "You lose"
    return player_database


players(raw_input("How many players? "))
guess(raw_input("Guess a player "))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM