【问题标题】:Creating variables out of returned CSV data从返回的 CSV 数据中创建变量
【发布时间】:2014-04-15 03:02:51
【问题描述】:

我正在尝试使用 Python 和 CSV 文件创建一个简单的电影院预订系统,其中 0 是空闲座位,1 是空座位。在这一分钟,用户输入所需的座位数量和所需的行数 (A-J)。然后程序应该检查该行在单个块中是否有可用空间。

此时它会返回值 0 和 1 以及该行可用的空闲座位数量。然而,我正在努力确定是否有一块可用的免费座位足够大,足以满足所需的座位数量。有什么想法吗?

目前返回

0
0
0
0
0
1
1
1
1
1
A
Spaces available:  5

用代码

import csv

Section = 0
LargeBlock = 0
Spaces = 0
LastSpace = 0

SpacesReq = int(input("How many spaces do you require? (8 Max.) "))
while SpacesReq > 8:
    print("Invalid amount.")
    break
SectionReq = input("What row would you like to check between A- J? (Uppercase required) ")

with open('data.csv', 'rt') as file:
    open_f = csv.reader(file,  delimiter=',')

    for line in open_f:
        for item in line:
            if line[10] == SectionReq:
                print(item)
                if item == "0":
                    Spaces = Spaces + 1 
print("Spaces available: ", Spaces)

【问题讨论】:

    标签: python csv


    【解决方案1】:

    您正在寻找空块,因此在线循环是个好主意:当您遇到 0 时,增加块大小;如果遇到 1,则块大小应重置为 0。

    但是如果你把你的行看作字符串,你有一些更简单的东西:

    for line in open_f:
        if line[10]==SectionReq:
            SearchedBlock = '0'*SpacesReq
            strLine = ''.join(str(i) for i in line)
            if SearchBlock in strLine:
                # empty block found
                break
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 2016-06-20
      • 1970-01-01
      • 2012-05-04
      相关资源
      最近更新 更多