我正在尝试使用Python创建一个票务系统,该系统能够写入和读取文件,但该程序似乎什么都不写。我收到了错误消息:
'_csv.writer' object is not iterable
“OKU”是指禁用的BTW.
“IC号码”是马来西亚的身份证号码
预期产出:
Name Age Sex Malaysian OKU IC-Number Passport-Number Fee
Jack 25 Male 0 0 - 12345678 23.70
我已附上以下代码:
import csv
with open(input("\nInput file name with .csv extension: "), 'w+') as f:
people = int(input("\nHow many tickets: "))
name_l = []
age_l = []
sex_l = []
local_l = []
oku_l = []
ic_number_l = []
passport_number_l = []
fee_l = []
# visitors = 0
adult = 0
senior = 0
child = 0
seniormsian = 0
admsian = 0
childmsian = 0
foreigner_l = []
adforeigner = 0
childforeigner = 0
for p in range(people):
name = str(input("\nName: "))
name_l.append(name)
malaysian = int(input("Malaysian (1 = Yes, 0 = No): "))
age = int(input("Age: "))
age_l.append(str(age))
if malaysian == 1:
oku = int(input("OKU (1 = Yes, 0 = No): "))
oku_l.append(str(oku))
if age >= 13 and age <= 59:
fee = 17.80
if oku == 1:
fee += 5
print(fee)
fee_l.append(fee)
elif age >= 4 and age <= 12 or age >= 60:
fee = 7.10
if oku == 1:
fee += 5
print(fee)
fee_l.append(fee)
else:
fee = 0.00
if oku == 1:
fee += 5
print(fee)
fee_l.append(fee)
ic_number = str(input("Input IC Number: "))
ic_number_l.append(ic_number)
while len(ic_number) != 12:
print("IC Number must be 12 digits long. Try again!")
ic_number = str(input("Input IC Number: "))
ic_number_l.append(ic_number)
if len(ic_number) == 12:
break
local_l.append(str(malaysian))
else:
if age >= 13:
fee = 23.70
print(fee)
fee_l.append(fee)
elif age >= 4 and age <= 12:
fee = 17.80
print(fee)
fee_l.append(fee)
else:
fee = 0.00
print(fee)
fee_l.append(fee)
passport_number = str(input("Input Passport Number: "))
passport_number_l.append(passport_number)
while len(passport_number) != 8:
print("Passport Number must be 8 digits long. Try again!")
passport_number = str(input("Input Passport Number: "))
passport_number_l.append(passport_number)
if len(passport_number) == 8:
break
foreigner_l.append(malaysian)
sex = str(input("Gender: "))
sex_l.append(sex)
writer = csv.writer(f, delimiter = '\t')
writer.writerow([name, age, sex, malaysian, oku_l, ic_number_l, passport_number_l, fee])
for row in writer:
writer.writerow([name, age, sex, malaysian, oku_l, ic_number_l, passport_number_l, fee])
目前没有回答
相关问题 更多 >
编程相关推荐