【问题标题】:Python 3, beginner errorsPython 3,初学者错误
【发布时间】:2017-09-20 12:20:25
【问题描述】:

我必须输入每个学生的班级名称、教师姓名、姓名/字母等级。将信息写入文件,然后替换每个等级的数量。我在第 19、55 和 41 行遇到错误。第 19 行给出了错误类型“str”对象不可调用。任何人都可以帮忙吗?这是我所拥有的:

Grades = open("ClassNameGrades.txt", "w")

count = 0
A=0
B=0
C=0
D=0
F=0

def gradeInput(count,numStudents,A,B,C,D,F):
    while count<numStudents:
        studentName=input("Enter name of student - ")
        Grades.write(studentName("\n"))       <<<Error#1
        studentGrade=input("Enter student letter grade - ", ).upper()
        Grades.write(studentGrade("\n"))
        count=count+1
        if studentGrade =="A":
            A+=1
        elif studentGrade =="B":
            B+=1
        elif studentGrade =="C":
            C+=1
        elif studentGrade =="D":
            D+=1
        elif studentGrade =="F":
            F+=1
    return count,numStudents,A,B,C,D,F

def main():
    Grades.write=input("Enter name of class - ",)
    Grades.write= input("Enter name of faculty - ")
    numStudents =int(float(input("Enter the amount of students - ")))
    gradeInput(count,numStudents,A,B,C,D,F)    <<Error#2
    print("Students who got an A = ", A)
    print("Students who got an B = ", B)
    print("Students who got an C = ", C)
    print("Students who got an D = ", D)
    print("Students who got an F = ", F)

main()   <<Error#3

Grades.close()

【问题讨论】:

  • 我猜你想要Grades.write(studentName + "\n")
  • 不,同样的错误。
  • 奇怪的是,写学生的名字有问题,但是写成绩就可以了。
  • studentName("\n") ... 这是一个函数调用,但 studentName 是一个字符串,而不是一个函数。您可以使用studentName + "\n""{}\n".format(studentName) 附加换行符。
  • gradeInput(count,numStudents,A,B,C,D,F) &lt;&lt;Error#2 ... 这个函数返回它的新值,但你不记得了。 A、B 等中的整数没有改变。 gradInput 只更改了这些变量的本地副本。

标签: python-3.x syntax-error


【解决方案1】:

对于第一个:不是Grades.write(studentGrade("\n")),而是Grades.write(studentGrade + "\n")

前者是一个函数调用,但你将它提供给一个字符串。

后者合并了两个字符串,所以如果学生成绩是“A”,它会写“A\n”,也就是A,然后换行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    相关资源
    最近更新 更多