• Python重写C语言程序100例--Part9


    '''
    【程序71】
    题目:编写input()和output()函数输入,输出5个学生的数据记录。
    1.程序分析:
    2.程序源码:
    使用list来模拟结构(不使用class)
    stu = [string,string,list]
    '''
    N = 3
    #stu
        # num : string
        # name : string
        # score[4]: list
    student = []
    for i in range(5):
        student.append(['','',[]])
    
    def input_stu(stu):
        for i in range(N):
            stu[i][0] = raw_input('input student num:
    ')
            stu[i][1] = raw_input('input student name:
    ')
            for j in range(3):
                stu[i][2].append(int(raw_input('score:
    ')))
    
    def output_stu(stu):
        for i in range(N):
            print '%-6s%-10s' % ( stu[i][0],stu[i][1] )
            for j in range(3):
                print '%-8d' % stu[i][2][j]
    
    if __name__ == '__main__':
        input_stu(student)
        print student
        output_stu(student)
    
    '''
    题目:反向输出一个链表。

        1.程序分析: 2.程序源码: ''' if __name__ == '__main__': ptr = [] for i in range(5): num = int(raw_input('please input a number: ')) ptr.append(num) print ptr ptr.reverse() print ptr


     

    '''
    【程序72】
    题目:创建一个链表。
    1.程序分析:           
    2.程序源码:
    '''
    if __name__ == '__main__':
        ptr = []
        for i in range(5):
            num = int(raw_input('please input a number:
    '))
            ptr.append(num)
        print ptr
    
    


     

    '''
    【程序74】
    题目:连接两个链表。
    1.程序分析:
    2.程序源码:
    代码上好像仅仅有,列表排序
    '''
    if __name__ == '__main__':
        arr1 = (3,12,8,9,11)
        ptr = list(arr1)
        print ptr
        ptr.sort()
        print ptr
    


     

    '''
    【程序75】
    题目:放松一下。算一道简单的题目。
    1.程序分析:
    2.程序源码:
    '''
    if __name__ == '__main__':
        for i in range(5):
            n = 0
            if i != 1: n += 1
            if i == 3: n += 1
            if i == 4: n += 1
            if i != 4: n += 1
            if n == 3: print 64 + i
    


     

    '''
    【程序76】
    题目:编写一个函数,输入n为偶数时。调用函数求1/2+1/4+...+1/n,当输入n为奇数时。调用函数
       1/1+1/3+...+1/n(利用指针函数)
    1.程序分析:
    2.程序源码:
    '''
    def peven(n):
        i = 0
        s = 0.0
        for i in range(2,n + 1,2):
            s += 1.0 / i
        return s
    
    def podd(n):
        s = 0.0
        for i in range(1, n + 1,2):
            s += 1 / i
        return s
    
    def dcall(fp,n):
        s = fp(n)
        return s
    
    if __name__ == '__main__':
        n = int(raw_input('input a number:
    '))
        if n % 2 == 0:
            sum = dcall(peven,n)
        else:
            sum = dcall(podd,n)
        print sum
    


     

    '''
    【程序77】
    题目:填空练习(指向指针的指针)
    1.程序分析:     
    2.程序源码:
    main()
    { 
    	char *s[]={"man","woman","girl","boy","sister"};
    	char **q;
    	int k;
    	for(k=0;k<5;k++)
    	{;/*ÕâÀïÌîдʲôÓï¾ä*/
    	printf("%s
    ",*q);
    	}
    } 
    '''
    if __name__ == '__main__':
        s = ["man","woman","girl","boy","sister"]
        for i in range(len(s)):
            print s[i]
            
    


     

    '''
    【程序78】
    题目:找到年龄最大的人,并输出。请找出程序中有什么问题。
    1.程序分析:
    2.程序源码
    '''
    if __name__ == '__main__':
        person = {"li":18,"wang":50,"zhang":20,"sun":22}
        m = 'li'
        for key in person.keys():
            if person[m] < person[key]:
                m = key
    
        print '%s,%d' % (m,person[m])
    


     

    '''
    【程序79】
    题目:字符串排序。
    1.程序分析:
    2.程序源码:
    '''
    if __name__ == '__main__':
        str1 = raw_input('input string:
    ')
        str2 = raw_input('input string:
    ')
        str3 = raw_input('input string:
    ')
        print str1,str2,str3
        
        if str1 > str2 : str1,str2 = str2,str1
        if str1 > str3 : str1,str3 = str3,str1
        if str2 > str3 : str2,str3 = str3,str2
    
        print 'after being sorted.'
        print str1,str2,str3
    


     

    '''
    【程序80】
    题目:海滩上有一堆桃子,五仅仅猴子来分。第一仅仅猴子把这堆桃子凭据分为五份。多了一个。这仅仅
       猴子把多的一个扔入海中,拿走了一份。第二仅仅猴子把剩下的桃子又平均分成五份,又多了
       一个。它相同把多的一个扔入海中。拿走了一份,第三、第四、第五仅仅猴子都是这样做的,
       问海滩上原来最少有多少个桃子?
    1.程序分析:
    2.程序源码:
    '''
    if __name__ == '__main__':
        for i in range(4,10000,4):
            count = 0
            m = i
            for k in range(5):
                j = i / 4 * 5 + 1
                i = j
                if j % 4 == 0:
                    count += 1
                else:
                    break
            i = m
            if count == 4:
                print count
                break
            
    



     

  • 相关阅读:
    Jeesite 自定义api接口 404 访问不到页面
    Eclipse中项目Project Explorer视图与Package Explorer视图
    PHP linux ZendGuardLoader.so: undefined symbol: executor_globals
    Linux block(1k) block(4k) 换算 gb
    Gogs 部署安装(Linux)
    搭建gogs常见问题
    Gogs 部署安装(windows)
    Long polling failed, will retry in 16 seconds. appId: zeus-guard, cluster: default, namespaces: application, long polling url: null, reason: Get config services failed from···
    Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
    top命令详析及排查问题使用演示
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5227490.html
Copyright © 2020-2023  润新知