2016-10-20 8 views
-1

私はプログラムに取り組んでいますが、私は立ち往生しています。私は複数のオプションを持つメニューを作成しました。今、あなたがチームを追加すると自動的に変数を作成することができるのだろうかと思っています。 I.E:通常は変数を一番上に入力し、teamA = inputのようにします。与えられた変数やデータベースの使用なしで自動的にこれを行うことは可能ですか?Pythonのメニュー/自動変数?

loop=True 
while loop: 
    print(""" 
    LAN-Party 2017: 
    --------------- 

    1. Add a team. 
    2. Look at the teams. 
    3. Look at the scores for the teams. 
    4. Add scores for the team. 
    5. Quit. 
    """) 
loop=input("What do you want to do?") 
if loop=="1": 
#what goes here? 

私はGoogleとこのサイトで探してみましたが、何も見つかりませんでした。あいまいな説明にも申し訳ありませんが、これは私ができる最高のものです。 ありがとうございます。

+0

変数は何を表しますか? 「チーム」にはどのような情報が含まれていますか? – code11

+0

チーム名だけです。 –

+2

これは実際にはあいまいです。正確にはどういうものでしょうか、それは "普通の"変数よりも優れていると思われますか?また、このコードは最初の 'while'ループを終了しません – UnholySheep

答えて

2

あなたが望む変数は単なるチーム名ですが、すべてのチーム名をリストに入れることができます。参照する必要がある場合は、インデックスを作成することができます。

teams = [] 
if loop == 1: 
    team = input("enter team name") 
    teams.append(team) 

個人的に、私はあなたが好きなメンバー、スコア、またはのようなものを保持することができ、チームのクラスになるだろう。私はちょうど(私はそのない本当のデータベースを知っている...しかし、このためにそのたくさんの良い)私のデータベースのような単純な辞書を使用し、この場合には必ず

+1

ありがとう、これは多く助けました:) –

0

...

db = {} 

def add_team(team_name): 
    db[team_name]={"members":[],"score":0} 

def get_team(team_name): 
    return db.get(team_name,None) 

def add_member(member_name,team_name): 
    try: 
     db[team_name]['members'].append(member_name) 
    except KeyError: 
     print "That team doesnt exist" 
def remove_member(member_name,team_name): 
    try: 
     return db[team_name]['members'].remove(member_name) 
    except (KeyError,ValueError): 
     return None 
# you will need to implement try excepts or some check to ensure that team is registered   
def record_win(team_name): 
    db[team_name]['score'] += 1 

def record_loss(team_name) 
    db[team_name]['members'] -= 1 

...

2

「新しい変数を作成する」というのは正確ではありませんが、ユーザーが最初のオプションを選択したときにチームのリストを保存してから追加してください。以下はあなたが正しい方向に始められるようにするでしょう...

teams = list() 
loop = True 

while True: 
    print("Lan-Party 2017") 
    print("---------------") 
    print("\n1. Add a team") 

    choice = raw_input("Action: ") 

    if int(choice) == 1: 
     team_name = raw_input("Team Name: ") 
     teams.append(team_name) 

    print(teams) 

あなたは、PythonのリストとPythonの辞書について読んでください。 https://docs.python.org/3/tutorial/datastructures.html

+1

@JoranBeasley良い点は、コードが更新されました – kyle

+0

ありがとう、私は間違いなくそれを行うでしょう! –

+0

@ L.Kappa問題ありません。また、チームクラスを作成し、そこにスコアリストを作成することもできます。そうすれば、それらの間の関係を容易に把握することができます。データを正規化する必要がある場合は、スコアを入力するときにチームのインデックスを追跡し、それをスコアと一緒に保存することが望ましいでしょう。私。スコア=((1,50)、(1,25)、(2,30)]ここで(チームインデックス、チームスコア) – kyle

関連する問題