如何将继续添加到class_ = eqid if eqid in allowed_classes else default_class
我不明白那种if语句,我需要添加continue作为if eqid == allowed_classes
然后我希望while循环停止,I也只是希望它打印选定类别中,如果eqid == allowed_classes
如何将继续添加到if块
allowed_classes = set(["N001", "N002", "N003", "N004", "E001", "E002", "E003"]) # etc
default_class = "N004" #If no class is specified it is defaulted to N004
eqid = raw_input('Please swipe your card: ').strip().upper()
class_ = eqid if eqid in allowed_classes else default_class
print("Selected class", class_)
我已经试过
eqid = raw_input('Please swipe your card: ').strip().upper()
if eqid in allowed_classes
class_ = eqid
print('Selected class: ', class_)
else default_class
,但不工作,甚至不会运行。
全码:
import csv
import datetime
import os
#Defaults
allowed_classes = set(["N001", "N002", "N003", "N004", "E001", "E002", "E003"]) # etc
default_class = "N004" #If no class is specified it is defaulted to N004
while (1):
#Magnetic Card Reader Output & Attendance (Default = 0)
attendance = '0'
eqid = raw_input('Please swipe your card: ').strip().upper()
class_ = eqid if eqid in allowed_classes else default_class
print("Selected class", class_)
#Day & Time Checker
format = "%H%M%S"
format_ = "%H%M"
today = datetime.datetime.today()
s = today.strftime(format) #Time in 24hour
s2 = today.strftime(format_)
d = datetime.datetime.today().weekday() #Day of week (0-5)
period = 0 #If they scan it outside of the dedicated periods it defaults to period 1
#Period Checker
if "084500" < s < "094000":
period = 0
if "094000" < s < "104000":
period = 1
if "112000" < s < "121500":
period = 2
if "121500" < s < "131500":
period = 3
if "133500" < s < "143000":
period = 4
#Class Code Reader
dataList = []
with open('J:/attendance/Timetables/'+class_+'.csv', 'r') as csvfile:
csvreader = csv.reader(csvfile)
for row in csvreader:
dataList.append(row)
csvfile.close()
#Class Code
clcode = dataList[period][d]
#CSV Writer
ofile = open('Attendance.csv', "a")
writer = csv.writer(ofile, delimiter=',')
writer.writerow([eqid, period+1, clcode, attendance])
ofile.close()
(它是格式正确只是无法得到它在这里对不起格式:/)
在'else'语句中,您没有将值赋给'class_'。试试'else:class_ = default_class' –
它被称为三元组。如果你想打破/继续一个循环,你不能使用该语法 –
“不起作用,甚至不会运行”......呃,你有一个语法错误。如果语句和其他语句以冒号字符结尾 –