Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用递归确定大学录取的程序?_Python_Recursion - Fatal编程技术网

Python 使用递归确定大学录取的程序?

Python 使用递归确定大学录取的程序?,python,recursion,Python,Recursion,首先,我只想说我知道这是很多,但我真正想要的是有人看看我写的代码,并帮助澄清我到底应该做什么。谢谢大家! 嗨, 所以我对编码比较陌生,我正在尝试编写一个程序,使用多个函数来确定一个学生是否被接受、拒绝或等待。我已经尝试为每个部分编写代码,但我不确定我是否按照我应该的方式编写代码,或者是否有更好的编写方法。如果有人可以查看我的代码,让我知道或给我任何建议,那将非常感谢。另外,你能告诉我递归是否正确吗?谢谢 录取标准以SAT三个部分的分数和高中毕业班的排名为基础;具体标准如下所示。这些规则按此处所示

首先,我只想说我知道这是很多,但我真正想要的是有人看看我写的代码,并帮助澄清我到底应该做什么。谢谢大家!

嗨, 所以我对编码比较陌生,我正在尝试编写一个程序,使用多个函数来确定一个学生是否被接受、拒绝或等待。我已经尝试为每个部分编写代码,但我不确定我是否按照我应该的方式编写代码,或者是否有更好的编写方法。如果有人可以查看我的代码,让我知道或给我任何建议,那将非常感谢。另外,你能告诉我递归是否正确吗?谢谢

录取标准以SAT三个部分的分数和高中毕业班的排名为基础;具体标准如下所示。这些规则按此处所示的优先级顺序1、2、3等应用

如果输入数据无效,SAT小于200或大于800,或者类秩不是正整数,则拒绝这些数据 如果任何测试分数为800,则接受该分数 如果任何考试分数低于300分,则被拒绝 如果平均考试分数大于650,班级排名小于或等于25,则可接受。 如果两个或两个以上的考试成绩低于400分或班级排名高于或等于75分,则被拒绝。 在任何其他情况下,申请人被列入候补名单 Da程序,用几个函数替换电子表格,以确定是否接受、拒绝或等待学生。您的解决方案必须包含以下功能:

第1部分:一个名为admissionStatussat_math、sat_reading、sat_writing、class_rank的函数,它接受如图所示的4个参数,并返回字符串Accept、Reject或Waitlist  第2部分:一个名为isvalidsat_math、sat_reading、sat_write、class_rank的函数,根据输入数据是否有效,返回True或False。如果所有数据都有效,则返回True,否则返回False。  第3部分:一个主要功能,提示用户输入相关数据申请人姓名、数学sat分数、阅读sat分数、写作sat分数和班级排名。它还通过适当的参数调用admissionStatus。  第4部分:您认为合适的任何其他辅助函数都可以实现准入状态中的一些计算,作为可以从准入状态调用的单独函数。例如,您可能想为上面的规则2编写一个函数

设计测试数据以尽可能多地覆盖各种可能性。对于上述七个标准中的每一个,您应该至少有一组测试数据;可能更多,因为有几种不同的方式,例如,输入数据可能无效

以下是我所做的:

第1部分:

import math
sat_math = raw_input ("Input your SAT math score")
sat_reading = raw_input ("Input your SAT reading score")
sat_writing = raw_input ("Input your SAT writing score"
class_rank = int(raw_input ("Input your class rank"))
a = [sat_math, sat_reading, sat_writing]
if sat_math or sat_reading or sat_writing > 800:
    return "Rejected"
 if sat_math or sat_reading or sat_writing < 200:
     return "Rejected"
if sat_math or sat_reading or sat_writing == 800:
    return "Accepted"
elif sat_math or sat_reading or sat_writing <= 300:
    return "Rejected"
elif (sum(a)/len(a) > 650) and class_rank <= 25:
    return "Accepted"
elif sat_math + sat_reading < 400:
    return "Rejected"
elif sat_math + sat_writing < 400:
    return "Rejected"
elif sat_reading + sat_writing < 400:
    return "Rejected"
elif class_rank >= 75:
    return "Rejected"
else:
    Return "Waitlisted"
第二部分这是我最困惑的部分:

def isvalid(sat_math,sat_reading,sat_writing,class_rank):
sat_math = raw_input ("Input your SAT math score")
sat_reading = raw_input ("Input your SAT reading score")
sat_writing = raw_input ("Input your SAT writing score")
class_rank = int(raw_input ("Input your class rank"))
while True:
    sat_math or sat_reading or sat_reading >= 200
    sat_math or sat_reading or sat_reading <= 800
    class_rank == int()
else:
    break 
第三部分:除了要一个名字,我看不出这个和第一个有什么区别,所以如果有人能向我解释一下,那就太好了

第四部分:我不太清楚这是什么意思。这是否意味着为每个步骤编写一个单独的函数

最后,当它提到测试数据时,我是否应该每次用不同的SAT分数写出不同的场景并进行测试


正如我之前所说的,我知道这是很多,但我真正想要的是有人查看我编写的代码,并帮助澄清我到底应该做什么。谢谢大家!

我没有检查您的完整代码,我建议您像其他人建议的那样提出更具体的问题。我仍然试图回答你的一些问题:


您的第1部分应该是函数def admissionStatus。。。。对于第3部分和第4部分,似乎要求您对代码进行模块化。因此,在第3部分中,创建一个函数来读取所有用户输入,并从该函数调用在第1部分中创建的函数admissionStatus来检查准入状态。在第4部分中,看看是否可以进一步模块化。这个问题特别给出了一些提示——例如,您可能想为上面的规则2编写一个函数。这个程序似乎太简单了,不需要很多函数,但我想您正在尝试学习如何编程,因此为了学习,也许您可以使用python2.7 btw创建函数。

!你需要把这个问题简化为一个单一的、具体的、可回答的问题。事实上,我认为你需要的是一个导师。你被否决了,因为stackoverflow不是一个代码审查服务;它的存在是为了回答有针对性的具体问题。请检查并重试。此问题需要更多帮助,我们无法提供。我们喜欢帮助别人,但有时人们需要先帮助自己,比如阅读一本关于语言的书,在线文档,或者询问他们认识的人谁可以帮助他们。一旦你更好地理解了这个主题,我们邀请你编辑这个问题,修正显而易见的问题
首先,这段代码根本不运行,而且您似乎没有意识到这一点。我强烈建议您使用增量编程:编写几行代码,确保它们正常工作,然后继续这个过程,一次只执行一小步。大块设计是可以的,但部分问题是您试图用代码来表达这一点,而您还没有准备好一次完成那么多。第1部分还不是一个函数吗?另外,模块化是什么意思?在第1部分中,创建一个与第2部分def function_name参数类似的函数。所谓模块化,我的意思是将代码拆分为多个函数,这样您就可以将所有逻辑写入一个函数/块中。你的任务有一个暗示;比如说,您可能想为上面的规则2编写一个函数。顺便说一下,您的代码有错误-请修复它们,否则它将无法工作。