2017-08-02 9 views
1
quarter1 = [0, "1-Course1", "2-Course2", "3-Course3", "4-Course4", "5-Course5"] 
quarter2 = [0, "1-Course1", "2-Course2", "3-Course3", "4-Course4", "5-Course5"] 

pick_q = int(raw_input("Pick a quarter: ")) 
    if pick_q == 1: 
     assignment = 0 
     courses = int(raw_input("How many courses would you like to enroll? ")) 
     print quarter1 
     while assignment < courses: 
      course = int(raw_input("Please select the course you'd like to enroll into(1-5): ")) 
      newlist = [] 
      chosen_assignment = quarter1[course] 
      newlist.append(chosen_assignment) 
      assignment += 1 
print newlist 

私はこのプログラムを、特定の四半期内に異なるコースに登録することができるようにしようとしています。私は一例として2分の1を入れています。ユーザー入力から新しいリストを作成する(Cicles) - Python

問題は、生徒が選択したコースから新しいリストを作成したいということです。たとえば、コース1、2、3を希望する場合は、新しいリストに「 [Course1、Course2、Course3] " これを実行して新しいリストを印刷しようとすると、ユーザーはこのケース[Course3]で最後に選択したピックのみが表示され、他の以前のピックでは表示されません。

必ずしもリストを印刷する必要はありませんが、ユーザーは元のリストから選択してこの情報を収集して新しいリストを作成することができます。ユーザーがリストのインデックス1-5から番号を選ぶことができるように、リストを開始するにはゼロを入れます。私はPythonで新しく、このことを理解しようとしています。前もって感謝します!!

その他のおすすめは本当にありがとうございます!

答えて

0

基本的に、newlist変数はループ内で何度も初期化されています。ループ外で宣言するだけで済みます。

quarter1 = [0, "1-Course1", "2-Course2", "3-Course3", "4-Course4", "5-ourse5"] 
quarter2 = [0, "1-Course1", "2-Course2", "3-Course3", "4-Course4", "5-Course5"] 
newlist = [] # Declare it outside 
pick_q = int(raw_input("Pick a quarter: ")) 
if pick_q == 1: 
    assignment = 0 
    courses = int(raw_input("How many courses would you like to enroll? ")) 
    print quarter1 
    while assignment < courses: 
     course = int(raw_input("Please select the course you'd like to enroll into(1-5): ")) 
     chosen_assignment = quarter1[course] 
     newlist.append(chosen_assignment) 
     assignment += 1 
print newlist 
+0

ありがとうございました!これは私をたくさん助けました!! – nineninetwo

+0

喜んでお手伝いします:-)それが必要なものだった場合は、正しいものとしてマークしてください。 –

関連する問題