私は非常に初心者の学習者で、Python のクラスを受講して学習しています。この質問はクラスとは関係ありません。クラスを進めているときに取り組んでいるプロジェクトだけです(クラスで学んだ概念を使用して、更新、拡張、クリーンアップする簡単なゲームに取り組んでいます)コード。)
私は現在、タプル、リスト、および辞書について学んでおり、単純なタプルを使用すると多くの IF ステートメントがクリアされ、コードが合理化されると考えました。ただし、希望どおりに機能させることはできません。
基本的に、すべてのクラスに一連のタプルがあります (注: これらはトレーニング分類であり、Python クラスではありません)。それらには異なる番号が含まれており、すべてのクラスの名前のリストを含むタプルがあります。コードのある時点で、キャラクターのクラスを決定するためにユーザー入力を求めます。その入力を使用して、タプルから値を抽出できるようにしたいと思います (スプライスという用語は正しいですか?)。たとえば、タプルの 3 番目の位置にある値を別の値に追加したいとします。現在、同じ名前のタプルに関連付けられたユーザー入力を取得できません。これを行う方法はありますか?
# Class list
Apprentice = (6, 0, 0, 0, 0, 0, 0)
Warrior = (12, 2, 0, 2, 0, 0, 0)
Paladin = (14, 2, 0, 2, 1, 0, 1)
Barbarian = (12, 6, 0, 3, -1, -1, -1)
Blademaster = (10, 4, 4, 0, 0, 0, 0)
Assassin = (8, 0, 8, -2, 0, 0, 0)
Rogue = (8, 0, 4, 0, 0, 0, 0)
Monk = (10, 2, 2, 2, 2, 2, -4)
Bard = (8, 0, 0, 0, 0, 0, 4)
Mage = (6, 0, 0, 0, 2, 2, 0)
Priest = (6, 0, 0, 0, 1, 2, 1)
Wizard = (4, -2, -2, -2, 6, 8, 0)
Scholar = (6, -1, -1, 0, 4, 4, 0)
Necromancer = (6, 0, 0, 0, 6, 6, -5)
classList = ('Apprentice', 'Warrior', 'Priest', 'Mage', 'Wizard', 'Rogue', 'Bard', 'Paladin', 'Scholar', 'Necromancer', 'Barbarian', 'Blademaster', 'Assassin', 'Monk')
validClass = False
while validClass == False:
charClass = raw_input('What type of training have you had (Class)? ')
if charClass in classList:
print ''
validClass = True
else:
print 'That is not a valid class.'