この質問には、「今すぐ登録できますか?」シニア、火曜日はジュニア、水曜日はソフォモア、木曜日は登録できますもし新入生なら。Python-ブール型のクロスチェック
if/elseステートメントを使用せずに、それぞれの日時とステータスをTrueまたはFalseにするかどうかを簡単にチェックする方法はありますか?もしそうなら、コードはどのように見えますか?
この質問には、「今すぐ登録できますか?」シニア、火曜日はジュニア、水曜日はソフォモア、木曜日は登録できますもし新入生なら。Python-ブール型のクロスチェック
if/elseステートメントを使用せずに、それぞれの日時とステータスをTrueまたはFalseにするかどうかを簡単にチェックする方法はありますか?もしそうなら、コードはどのように見えますか?
おそらく、このような何か?
from datetime import datetime
def options():
print """
Are you a? [Enter 0-4]
0) Senior
1) Junior
2) Sophomore
3) Freshman
4) quit
"""
print "Can I register today?"
while True:
options()
selection = raw_input("Enter status: ")
try:
selection = int(selection)
except ValueError:
print "Invalid entry please try again"
continue
# if you can't use any if statements
# replace the if statement with a print statement saying to exit using control c
# or above the while loop, create the variable selection = None
# change the while loop from a while True to while selection != 4:
# I leave it up to you :-)
if selection == 4:
break
# 0 is monday
weekday = datetime.today().weekday()
print
print "reply: {0}".format(selection == weekday)
ここでは、Python辞書とブール比較を使用したソリューションがあります。
私たちはの学生ステータスからの関連を作成する辞書を使用しています。 次に、ユーザー入力を取得し、ブール式を使用して比較します。
from datetime import date
import calendar
my_dict = {'Senior' : 'Monday',
'Junior' : 'Tuesday',
'Sophomore' : 'Wednesday',
'Freshman' : 'Thursday'
}
my_date = date.today()
my_status = (raw_input("Enter your enrollment status: ")) #Student current status
today = calendar.day_name[my_date.weekday()] #Day or week
reg_status = today == my_dict[my_status]
#who can register today
who_can_register = my_dict.keys()[my_dict.values().index(today)]
print "Can you register=", reg_status
print "Today is ", today , " Only ", who_can_register, "can register"
出力:
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Enter your enrollment status: Senior
Can you register= False
Today is Thursday Only Freshman can register
>>> ================================ RESTART ================================
>>>
Enter your enrollment status: Junior
Can you register= False
Today is Thursday Only Freshman can register
>>> ================================ RESTART ================================
>>>
Enter your enrollment status: Sophomore
Can you register= False
Today is Thursday Only Freshman can register
>>> ================================ RESTART ================================
>>>
Enter your enrollment status: Freshman
Can you register= True
Today is Thursday Only Freshman can register
>>>
私たちにあなたのコードを表示してみましたか? –
私はAND/OR(Pythonの短絡評価を使用して)あなたのために働くかもしれないと思います –