如何让用户在python代码中回答这个问题?
我正在努力研究如何将输入问题的百分比设置为如何让用户在python代码中回答这个问题?,python,Python,我正在努力研究如何将输入问题的百分比设置为calculatedNumber=score(lab_percent)中提到的百分比,如果这是正确的,或者我是否应该查看另一个字符串来获取问题的正确百分比 这是我的跑步记录 def score(earnedPercent, overallWeight): scorePercent = earnedPercent // 100 scorePercent = overallWeight // 100 scorePercent = sc
calculatedNumber=score(lab_percent)
中提到的百分比,如果这是正确的,或者我是否应该查看另一个字符串来获取问题的正确百分比
这是我的跑步记录
def score(earnedPercent, overallWeight):
scorePercent = earnedPercent // 100
scorePercent = overallWeight // 100
scorePercent = scorePercent % 7
return scorePercent
def grade(gradePercent):
if gradePercent >=90 and gradePercent <= 100:
letterGrade="A"
elif gradePercent >=75 and gradePercent <= 90:
letterGrade="B"
elif gradePercent >= 60 and gradePercent <= 75:
letterGrade = "C"
elif gradePercent >= 50 and gradePercent <= 60:
letterGrade = "D"
elif gradePercent < 50:
letterGrade = "F"
return letterGrade
lab_percent=int(input("What is your lab percent so far (-1 if no labs yet)?: "))
calculatedNumber = score(lab_percent)
assignment_percent=int(input("What is your assignment percent so far (-1 if no assignment yet?: "))
calculatedNumber = score(assignment_percent)
exam_percent=int(input("What is your exam percent so far (-1 if no exams yet)?: "))
calculatedNumber = score(exam_percent)
earnedPercent = gradePercent
earnedPercent = earnedPercent.upper()
message='If things keep going the way they are, you should get a ' + earnedPercent + 'in the course, which is a.'
print(message)
def分数(收益百分比,总重量):
scorePercent=earnedPercent//100
分数百分比=总重量//100
分数百分比=分数百分比%7
回报率
def等级(等级百分比):
如果gradePercent>=90,gradePercent=75,gradePercent=60,gradePercent=50,gradePercent这篇评论太长了,所以我将指出一些事情,并给出一些下一步的步骤,以帮助您解决您的问题,并在现在和将来的网站上改进您的问题:
首先,代码中有一些错误:
return scorePercent
应缩进,作为score
函数的一部分
score
需要第二个参数overallWeight
,但在调用它时不传递该参数
在score
中,您将scorePercent
的值分配三次-只有最后执行的分配将定义scorePercent
是什么
grade
从未调用-可能是问题的一部分
你需要修正这些错误,然后再仔细考虑你在计算分数时所做的事情。如果您是初学者,我建议您使用具有IntelliSense的文本编辑器或IDE,这样它就可以警告您这些错误,并帮助您解决这些错误
然后,一旦您将错误排除在外,您可以使用StackOverflow来询问更具体的问题,例如“如何将此输出格式化为%”等。您发布的代码没有运行,并且没有具体问题,因此社区很难帮助您解决问题
如果你修正了这些错误并编辑了你的帖子,让它有一个更具体的问题,我也会编辑我的答案,以便更好地帮助你。还请记住,使用调试器或只是在整个代码中打印值来跟踪内容并查看它们是否如您所期望的那样输出是有帮助的
函数中的两个参数
当您在这里定义一个函数时,您已经将其设置为接受两个输入:def score(earnedPercent,overallWeight):
将earnedPercent
和overallWeight
作为输入。因此,当您调用(使用)score
时,它需要这两个值。去你称之为的地方:
calculatedNumber = score(lab_percent)
你只需要给它一个参数,你需要给它另一个。假设我有lab_weight=0.2
,那么我可以说:
lab\u分数=分数(lab\u百分比、lab\u重量)
然后,您可以在其他地方使用此实验室分数
范围
对于等级
,您不想删除它-问题是您没有使用它。稍后在代码中,您会说earnedPercent=gradePercent
,但gradePercent
仅在grade
函数的范围内定义。你需要把每个函数看作是它自己的黑盒子,你只能给它输入,然后得到它返回的任何东西
我真的建议在Python IntelliSense中使用某种编辑器,以便在编写代码时为您指出这些错误。这也可能有助于您了解一个更深入的解释,因为这在您学习编码时非常重要
增量建筑
也要考虑一件一件地做。这里有相当数量的代码,但始终存在错误,需要时间来跟踪所有错误。例如,编写评分函数,为其提供输入并打印结果。如果它是您所期望的,则再次执行该操作并将其分配给一个变量,即print。然后用另一个变量(你倾向于覆盖你的变量很多,这将帮助你解决这个问题)。一步一步地做,并在整个过程中学习,您会发现您可以重新构建此代码并使其运行,同时还可以获得更多的练习和更好的理解。Hello,我想你可以将你展示的代码只包含说明你的问题所需的最低限度。可能重复@Corentin Pane我发布了整个代码,因为它与我对我的问题的要求有关,我是否应该将def分数(gradePercent)或def分数(earnedPercent,overallWeight)放在一起以分数输入(实验室百分比)为例?还是我完全错了?score()
的return
语句没有正确缩进score()
需要调用中未提供的第二个参数;我不知道这是从哪里来的。除此之外,我真的不明白你在问什么。你有def分数(收入百分比,总体重):
,但你用分数(实验室百分比)
和分数(考试百分比)
来称呼它。该函数需要两个参数,但您只给它一个。Python不会喜欢这样的。而且,earnedPercent
被分配给了该范围内未定义的某个对象,因此我不确定该告诉您什么。谢谢您的详细回复!我如何要求第二个参数具有总重量
?我是否键入“scorePercent=overallWeight”并删除该语句中的前两个值?我对编程非常陌生,所以我正在努力边学边做。至于4,我是否删除def语句中的等级?我将编辑我的答案,并提供有关这些细节的更多信息。对于函数,我是否将其用作labScore=score(labPercent,labWeight,0.20)或类似calculatedNumber(labPercent,0.20),因为labWeight将为20?如果您使用labWeight=0.2
,则可以