1

私はここの初心者で、劇場のチケットシステム用のプログラムを書こうとしています。これは私が while の使用方法を見つけようとしているだけなので、入力が間違っている場合はプログラムが次のステップに進むのを止めることができます。ここに while コードがあります:( どこかでそれを取得し、いくつかのものを変更しました)

Movie_is = "a"# i want to assign more than one string like "A","b","B" etc
movie_slection = True

while movie_slection:
Choose=raw_input("Choose your movie by typing the correct letter")
if Choose != Movie_is:
    print 'Wrong input'
    movie_slection = False 
elif Choose == Movie_is:
    print 'Your movie is :'

else:
print 'Wrong input.'


print 'Done'</i>

これは、最初のコードを使用したい他のコードです。d と入力すると、チケットの選択に移動します。

print "a.Fight Club (1999)", "b.Freaks (1932)","c.Barton Fink (1992)"

Movie_is=raw_input("Choose your movie by typing the correct letter")
if Movie_is == "a" or Movie_is== "A":
 movie = "Fight Club (1999)"
elif Movie_is == "b" or Movie_is=="B":
 movie = "Freaks(1932)"
elif Movie_is == "c"  or Movie_is== "C":
 movie = "Barton Fink (1992)"
else:
 movie = "You have entered a wrong letter ,\n note:this application is case sensitive"
print " Selected Movie : ", movie

# the tickets selection
Tickets_is=raw_input(" Select Tickets: a.(Adult) b.(Children) c.(Senior) d.(Student)")
if Tickets_is=="a" or Tickets_is== "A"  :  
tickets="""
    ||       SCREEN         ||

     1 2 3 4 5 6 7 8 9 10


  """

elif Tickets_is == "b" or Tickets_is=="B":
 tickets= """
    ||       SCREEN         ||

     1 2 3 4 5 6 7 8 9 10


  """
elif Tickets_is == "c" or Tickets_is== "C":
 tickets= """
    ||       SCREEN         ||

     1 2 3 4 5 6 7 8 9 10


  """
elif Tickets_is == "d" or Tickets_is== "D":
 tickets= """
    ||       SCREEN         ||

     1 2 3 4 5 6 7 8 9 10


  """

else:
 tickets= "You have entered a wrong input , please type a valid seat number"
print "Seats: ",tickets </i>

前もって感謝します 。

4

4 に答える 4

2

文字列の代わりにリストを使用することをお勧めします。

movies = [ 'a', 'b', 'c' ]
for movie in movies:
    print movie

しかし、おそらくクラスで映画を定義する必要があります。これにより、1つの映画に関するすべての情報を1か所に集めることができます。

于 2012-11-09T14:26:14.857 に答える
0

Pythonリストを確認する必要があります。このようなもの

movie_is = ['a', 'b', 'c']
if choice not in movie_is:
    print 'Wrong input'

リストの詳細については、 http://docs.python.org/2/tutorial/datastructures.htmlを参照してください。

于 2012-11-09T14:27:42.920 に答える
0

あなたはこのようなものが欲しいですか?:

>>> choose = "a"
>>> movie_names = ["A", "a"]

>>> choose in movie_names
True
于 2012-11-09T14:28:14.423 に答える
0

辞書は、現在使用している方法よりもはるかに便利です。ご希望の while ループを実行するようにスクリプトを変更するつもりはありませんが、これは簡単に変換できるはずです。

movies={'a':'Movie A','b':Movie B'}
if choice.lower() is not in movies.keys():
     print 'Invalid choice. Try again'
else:
     print 'You have selected '+movies[tolower(choice)]

他の場所で言われているように、より多くのデータを含めることができるので、クラスはさらに良い選択です。ただし、映画の名前だけが必要であることが確実な場合は、これを実行できます。

于 2012-11-12T23:04:22.527 に答える