распечатка (процесс ввода и вывода) в python - PullRequest
0 голосов
/ 24 октября 2018

Я думаю, что я почти там с моим заданием.Я пытаюсь напечатать: «Привет, Джон, (новая строка). У тебя 89,6% в твоем курсе программирования».Однако, когда я печатаю нижеприведенный текст, он показывает следующее: «Привет, Джон, (новая строка). У тебя 89,4% в твоем принципе программирования».
Так что вы, ребята, могли бы помочь мне, как поставить знак% без пробела?Есть ли лучший способ напечатать эти слова?

student_name = input("Enter student's name: ")
course_name = input("Enter course name: ")

quizzes_weight = input("Enter quizzes weight: ")
projects_weight = input("Enter projects weight: ")
activities_weight = input("Enter activities weight: ")
attendance_weight = input("Enter attendance weight: ")
exams_weight = input("Enter exams weight: ")

quizzes_average = input("Enter quizzes average: ")
projects_average = input("Enter projects average: ")
activities_average = input("Enter activities average: ")
attendance_average = input("Enter attendance average: ")
exams_average = input("Enter exams average: ")

quizzes_weight = float(quizzes_weight)
projects_weight = float(projects_weight)
activities_weight = float(activities_weight)
attendance_weight = float(attendance_weight)
exams_weight = float(exams_weight)

quizzes_average = float(quizzes_average)
projects_average = float(projects_average)
activities_average = float(projects_average)
attendance_average = float(attendance_average)
exams_average = float(exams_average)

average_score_for_course = ((quizzes_weight * quizzes_average) + 
(projects_weight * projects_average) + (activities_weight * 
activities_average) + (attendance_weight * attendance_average) + 
(exams_weight * exams_average)) * 100

print("Hi",student_name +",","\nYou have a", 
average_score_for_course,"% in your", course_name,"course.")

для этого задания мое вышеприведенное программирование должно производить вывод, как показано ниже, в соответствии с моим входным кодированием.Например:

Enter student's name: Ryan
Enter course name: Advanced Quantum Mechanics

Enter quizzes weight: .1
Enter projects weight: .2
Enter activities weight: .3
Enter attendance weight: .1
Enter exams weight: .3

Enter quizzes average: 1
Enter projects average: .85
Enter activities average: .9
Enter attendance average: .95
Enter exams average: .87

вывод должен выглядеть примерно так:

Hi Ryan,
You have a 89.6% in your Advanced Quantum Mechanics course.

Ответы [ 4 ]

0 голосов
/ 24 октября 2018
print("Hi" + str(student_name) +"," + "\nYou have a" + str(average_score_for_course) +"% in your" + str(course_name) + "course.")

Для меня я постараюсь не использовать запятую, потому что трудно визуализировать, как выглядит ваша печать, и для безопасности лучше конвертировать "average_score_for_course" в str перед печатью.

0 голосов
/ 24 октября 2018

Просмотр вашего кода:

print("Hi",student_name +",","\nYou have a", 
average_score_for_course,"% in your", course_name,"course.")

Когда вы используете разделитель запятых для функции печати, он добавляет пробел по умолчанию.Замените запятую на +:

print(average_score_for_course + "% in your")

Заменив запятую на +, она удалит пространство, которое Python добавляет по умолчанию.

Использование решения Эммы (форматирование строк) лучше иболее питоническое решение вашей проблемы.Надеюсь, я помог вам понять, почему это происходит.

0 голосов
/ 24 октября 2018

Просто для другого ответа: Вы также можете попробовать это

average_score_for_course = str(((quizzes_weight * quizzes_average) + 
(projects_weight * projects_average) + (activities_weight * 
activities_average) + (attendance_weight * attendance_average) + 
(exams_weight * exams_average)) * 100)+"%"

print("Hi",student_name +",","\nYou have a", 
average_score_for_course,"in your", course_name,"course.")

изменить результат на строку и объединить "%" к нему.

0 голосов
/ 24 октября 2018

Вы можете отформатировать строку с 3 переменными, которые вы хотите напечатать:

print("Hi {},\nYou have a {}% in your {} course".format(student_name, average_score_for_course, course_name))
...