2013-11-25 10 views
0

пытается получить программу, чтобы ввести имя студентов и счет, проверить, чтобы убедиться, что оценка является в файл и петли заднейЗапуск вслед питона

gradeFile = open("grade.dat","a") 
    Score = "0" 
    while Score>=0: 
     Name = raw_input("What is the students's name?: ") 
     Score = float(raw_input("What is the students's score?: ")) 
     while Score <0 or Score >100 : 
      print("ERROR: the grade cannot be less than 0 or more than 100") 
      Score = float(raw_input("What is the students's score?: ")) 
     gradeFile.write(Name+"\n") 
     gradeFile.write(Score+"\n") 
    gradeFile.close() 
    print("Data saved to grade.dat") 
а vaule> = 0 и < = 100 и сохранение результатов
+0

gradeFile.write (Score + "\ п") дает вам ошибки 'TypeError: неподдерживаемый тип (ы) операнда для +: 'поплавка' и«str'', вы можете изменить его на классFile.write (str (Score) + "\ n") – ton1c

+0

Вы не задавали вопрос. Какой вопрос о вашей задаче вам нужен? – user2357112

ответ

1

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

Кроме того, оценка должна быть номером, но вы вводите ее как строку в Score = "0". При выводе вам нужно будет написать str(Score), чтобы вы могли объединить его с "\n".

Я предлагаю, чтобы ваш внешний контур имел что-то вроде while Score >= 0 and userWantsToContinue. Вы можете обращаться с userWantsToContinue в любом удобном для вас виде.

1

Ваш datatpe не соответствует

Score = "0" # So, score is a string 
while Score >= 0: # Oh, thenm it's a integer? 
Смежные вопросы