永发信息网

用python写一个程序

答案:3  悬赏:30  手机版
解决时间 2021-01-03 18:06
  • 提问者网友:浪荡绅士
  • 2021-01-03 00:49
能够输入成绩和姓名并对已输入的成绩和姓名进行排序
最佳答案
  • 五星知识达人网友:一袍清酒付
  • 2021-01-06 22:06
其实这个不难,以下代码做个参考吧。
#-*-coding:utf-8-*-
class Student(object):
    """
    自定义Student类
    """
    def __init__(self, name, score):
    # 初始化Student,参数name,score
        self.name = name
        self.score = score
    def __cmp__(self, other):
    # 重写比较方法,根据Student类属性score进行比较
        return cmp(self.score, other.score)
    def show(self):
        return 'name:'+self.name+'; score:'+str(self.score)

def get_input():
    name = raw_input('input name > ')
    if not name: # 当姓名输入为空时,返回None
        return (None,None)
    score = raw_input('input %s\'s score > ' % name)
    if name and score:
        return (name,int(score)) # 为方便比较,将score强制转换为int型
    else:
        return (None,None)

def main():
    s_list = []
    while True: # 一直循环输入姓名及成绩
        name,score = get_input()
        if name and score:
            s = Student(name, score)
            s_list.append(s)
        else: # 当输入姓名或成绩为空时跳出循环
            break
    s_list.sort() # 对Student实体进行排序
    for i,s in enumerate(s_list): # 遍历已经排序的实体列表,并进行显示
        print ' '.join([str(i+1), s.name, str(s.score)])

if __name__ == '__main__':
    main()输入及输出结果如下,当然你也可以修改下 s_list 方便测试
input name > a
input a's score > 97
input name > b
input b's score > 95
input name > c
input c's score > 96
input name > 
1 b 95
2 c 96
3 a 97 注释已经比较详细了,应该能看懂。
全部回答
  • 1楼网友:掌灯师
  • 2021-01-06 23:30
def input_1():     a = raw_input('please input something:\n')     global st     st = list(a)     print 'now the list you just inputted is:\n',st success = true while success:     input_1()     for i in st:         c = st.count(i)         if c >= 3:             print 'you lost!'             print 'error: the number of %s you just input is %s '%(i,c)             success = true             break         print 'the number of %s you inputted is %s time(s)'%(i,c)         success = false         print 'success!'
  • 2楼网友:野味小生
  • 2021-01-06 22:16
举个python的简单函数作为例子。代码如下: #!/usr/bin/python # -*- coding: UTF-8 -*- # 可写函数说明 def changeme( mylist ):    "修改传入的列表"    mylist.append([1,2,3,4]);    print "函数内取值: ", mylist    return # 调用changeme函数 mylist = [10,20,30]; changeme( mylist ); print "函数外取值: ", mylist
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯