2015-03-22 3 views
0
import sys 
outfile = open(r'/Users/x/Desktop/myDoc.txt', 'w') 
    i = 0 
    lis = [] 
    n = int(raw_input("How many interviews are there? ")) 
    while n: 
     i += 1 
     istart = raw_input("Interview Start Time: ") 
     iend= raw_input("Interview End Time: ") 
     ipeople= raw_input("What are the interviewer names: ") 
     itype= raw_input("What is the interview type: ") 
     lis.append((istart, iend, ipeople, itype)) 
     n-=1 
    a = "<html><head></head><body><TABLE border=1><TR> </TR> <TR>\ 
     <TH>Start</TH>\ 
     <th>End</th>\ 
     <th>People</th>\ 
     <TH>Interview Type</TH></TR><TR ALIGN=CENTER></TR> \ 
     <td>fff</td>dd<td>dddd</td><td>ddd</td><td>ddddd</td></TABLE></body></html>" 

    outfile.write(a) 
outfile.close() 

Так что этот оператор печати записывает в файл на моем компьютере, но я столкнулся с проблемой включения другого цикла в этот оператор печати, поскольку, если пользователь говорит, что есть 5 интервью, мне нужно 5 строк, где каждая строка является одним кортежем в списке, и каждый столбец - это каждый элемент внутри этого кортежа (и если пользователь говорит 6 интервью, мне нужно 6 строк и т. Д.). Есть ли способ сделать это?Петля в заявлении на печать

+1

Где находится заявление о печати? –

+0

добавили его выше – user3527972

+0

, не решая вашу проблему, но цикл while и приращения не очень хороши. почему бы не заменить его 'for i в xrange (n):' => не нужно увеличивать i или n вручную. Кроме того, это безопаснее: в вашем случае, если пользователь вводит отрицательное число, вы получаете бесконечный цикл. –

ответ

1

Это решение проблемы? Цикл должен только создавать строки, вы не должны ставить и заканчивать документ внутри цикла.

import sys 
outfile = open(r'/Users/x/Desktop/myDoc.txt', 'w') 
i = 0 
lis = [] 
n = int(raw_input("How many interviews are there? ")) 
table = "<html><head></head><body><TABLE border=1><TR>\ 
    <TH>Start</TH>\ 
    <th>End</th>\ 
    <th>People</th>\ 
    <TH>Interview Type</TH></TR><TR ALIGN=CENTER></TR> \ 
    %s</TABLE></body></html>" 

while n: 
    i += 1 
    istart = raw_input("Interview Start Time: ") 
    iend= raw_input("Interview End Time: ") 
    ipeople= raw_input("What are the interviewer names: ") 
    itype= raw_input("What is the interview type: ") 
    lis.append("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>" % (istart, iend, ipeople, itype)) 
    n-=1 



outfile.write(table % ''.join(lis)) 
outfile.close() 

Вместо «while n» вы можете использовать диапазон (n), тогда вам не нужна переменная счетчика.

Смежные вопросы