import csv
import random
from tkinter import filedialog
from tkinter import *
lastname=['liu','zhang','cao','lee','chan','trump','obama','fong','an','olszak','sheng','pei','ive','tom','zixin','joney'
'bob','york','dave','jian']
firstname=['zach','jack','jimmy','demon','peter','nancy','chiga','rossan','hayya','babo','pasadena','houston','yakawa'
'rossan','terrence','bill','collen','max','rose','allen']
name=[]
grade=['A','B','C','D']
with open('cis9csv.csv','w') as fp:
csvwriter_1=csv.writer(fp,delimiter=',')
csvwriter_1.writerow(('nameofstudent', 'assignment1', 'assignment2', 'assignment3', 'assignment4', 'quiz1', 'quiz2','quiz3', 'quiz4', 'finalgrade'))
csvwriter_1.writerow(('student name','If Else','Loops','Functions','File IO','Conditionals','Repetition','Python Funcitons','Input Output','Grade'))
#randomly creates 20 students with random selected name,and grade
for i in range(0,1):
last=random.choice(lastname)
first=random.choice(firstname)
name1=(last+first)
name.append(name1)
#random score
assignment1 = random.randint(50, 100)
assignment2=random.randint(50,100)
assignment3=random.randint(50,100)
assignment4=random.randint(50,100)
quiz1=random.randint(50,100)
quiz2=random.randint(50,100)
quiz3=random.randint(50,100)
quiz4=random.randint(50,100)
totalsocre=assignment1+assignment2+assignment3+assignment4+quiz1+quiz2+quiz3+quiz4
if totalsocre<=560 and totalsocre>=480:
ave='D'
elif totalsocre<=640 and totalsocre>560:
ave='C'
elif totalsocre<=720 and totalsocre>640:
ave='B'
else:
ave='A'
#testcomment
def lettername():
print('Hello', name1, ',')
def assignmentone():
if assignment1 <= 80:
print('Look at your assignments, you did bad on your first assignmet ')
elif assignment1 < 90 and assignment1 > 80:
print('Look at your assignments, you did good on your first assignmet')
elif assignment1 >= 90:
print('Look at your assignments, you did very well on your first assignmet ')
def assignmenttwo():
if assignment2 <= 80:
print('and you did bad on your second assignmet ')
elif assignment2 < 90 and assignment1 > 80:
print('and you did good on your second assignmet')
elif assignment2 >= 90:
print('and you did very well on your second assignmet ')
def assignmentthree():
if assignment3 <= 80:
print('and you did bad on your third assignmet ')
elif assignment3 < 90 and assignment1 > 80:
print('and you did good on your third assignmet')
elif assignment3 >= 90:
print('and you did very well on your third assignmet ')
def assignmentfour() :
if assignment4 <= 80:
print('and you did bad on your last assignmet ')
elif assignment4 < 90 and assignment1 > 80:
print('and you did good on your last assignmet')
elif assignment4 >= 90:
print('and you did very well on your last assignmet ')
def quizeone() :
if quiz1 <= 80:
print(' you did bad on your first quizze ')
elif quiz1 < 90 and assignment1 > 80:
print('you did good on your first quizze')
elif quiz1 >= 90:
print(' you did very well on your first quizze ')
def quizetwo() :
if quiz2 <= 80:
print(' you did bad on your second quizze ')
elif quiz2 < 90 and assignment1 > 80:
print('you did good on your second quizze')
elif quiz2 >= 90:
print(' you did very well on your second quizze ')
def quizethree() :
if quiz3 <= 80:
print(' you did bad on your third quizze ')
elif quiz3 < 90 and assignment1 > 80:
print('you did good on your third quizze')
elif quiz3 >= 90:
print(' you did very well on your third quizze ')
def quizefour():
if quiz4 <= 80:
print(' you did bad on your last quizze ')
elif quiz4 < 90 and assignment1 > 80:
print('you did good on your last quizze')
elif quiz4 >= 90:
print(' you did very well on your last quizze. ')
print('Therefore your final grade is a ', ave)
student=(name1,assignment1,assignment2,assignment3,assignment4,quiz1,quiz2,quiz3,quiz4,ave)
csvwriter_1.writerow(student)
letter=(lettername(),assignmentone(),assignmenttwo(),assignmentthree(),assignmentfour(),quizeone(),quizetwo(),quizethree(),quizethree())
csvwriter_1.writerow(letter)
fp.close()
root=Tk()
root.cis9csv=filedialog.askopenfile(initialdir='/',title='Select file',filetypes=(("csvfile","*.csv"),("All files","*.*")))
print (root.cis9csv)
我必须打开csv文件。阅读它,并使用csv文件中的信息给每个学生一个平均成绩(我已经在我的代码中做了) 当我运行这段代码时,我得到了#34; 2018-05-21 17:53:03.256 Python [15593:2403648]无法找到或读取字符串文件SlicesStrings&#34; 我使用了很多方法,但我仍然遇到了这个错误。
请帮助..