Если оператор не работает при использовании словаря или списка - PullRequest
0 голосов
/ 07 апреля 2019

У меня есть форма с удостоверением личности студента и страницами слайдов, которые студенты прочитали.Теперь мне нужно распечатать тех студентов, которые прочитали более 200 слайдов и подсчитать, сколько из них.Я пытался импортировать CSV в список и словарь.Я обнаружил, что невозможно использовать цикл if и while, как я выучил на языке C.

#1
import csv
f = open('student_example.csv','r')


for row in csv.reader(f):
     with open('student_example.csv', mode='w') as outfile:
         writer = csv.writer(outfile)
         [k,v] = row
         f[k] = v
         k = 0
         print (f[2])
         while k < 71:    #There are 71 students
            k += 1
            if f[k] >= 200:
                print (f[k])
#2
import csv

with open('student_example.csv', mode='r') as infile:
   reader = csv.reader(infile)

   with open('student_example_new.csv', mode='w') as outfile:
       writer = csv.writer(outfile)

       mydict = {rows[0]:rows[1] for rows in reader}
       print(len(mydict))
       k = 200
       for rows[1] > k in reader:
            print(rows[1])

Пример вывода должен быть следующим: пройдено 13 учеников: dict_keys (['B046060035', 'B064020028', 'B064020052 ',' B064030002 ',' B065040041 ',' B066060019 ',' B066090002 ',' B073040038 ',' B074020003 ',' B074020024 ',' B074020043 ',' B074020053 ',' B074020055 *] '100

1 Ответ

0 голосов
/ 07 апреля 2019

Используя вашу первую попытку, вы можете сделать это следующим образом.Вы хотите открыть свой файл, а затем пройтись по студентам.проверьте для каждого учащегося, сколько слайдов они прочитают и напишут в файл, если> 200

import csv
f = open('student_example.csv','r')

with open('student_example.csv', mode='w') as outfile:
    writer = csv.writer(outfile)
    for row in csv.reader(f):
        [student_id, slides] = row
        if slides > 200:
            writer.writerow(student_id)
            print (student_id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...