用python打印输出(输入和输出过程)

2024-05-13 01:25:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想我的任务差不多完成了。我想打印: “嗨,约翰,(新台词) 你的程序设计原理课程得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.

Tags: nameinputfloatstudentactivitiesprojectsaverageenter
3条回答
print("Hi" + str(student_name) +"," + "\nYou have a" + str(average_score_for_course) +"% in your" + str(course_name) + "course.")

对我来说,我会尽量避免使用逗号,因为很难想象你的打印效果,为了安全起见,最好在打印前将“课程平均分”转换成str。你知道吗

只是为了得到一个不同的答案: 你也可以试试这个

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.")

将结果更改为string并将“%”连接到它。你知道吗

查看您的代码:

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

在打印函数中使用逗号分隔符时,默认情况下会添加空格。将逗号替换为+:

print(average_score_for_course + "% in your")

通过将逗号替换为+,它删除了Python默认添加的空间。你知道吗

使用Emma的解决方案(字符串格式)是一个更好的解决问题的方法。希望我能帮助你理解为什么会这样。你知道吗

相关问题 更多 >