• day2-作业及答案


    作业:
    第一组:

    1.接收用户输入一个年份,判断是否是闰年(判断闰年的方法是该年能被4整除并且不能被100整除,或者是可以被400整除)

    2.接收用户输入一组整数,输入负数时结束输入,输出这组数字的和:格式--您输入的数字之和是:xxxx

    3.一个5位数,判断它是不是回文数。如,12321是回文数,个位与万位相同,十位与千位相同

    4.接收用户输入的数字,计算该数字的阶乘

    5.给定一个字符串 target = 'hello huice',从中找出第一个不重复的字符,输出它是第几位

    6.去除上一题中的重复字符,得到一个新的字符串

    7. 员工工资表,查询结果集如下:((1, 'zhangsan', 3000), (2, 'lisi', 2500), (3, 'tiantian', 20000))
        (1)计算员工的平均工资      
        (2)输出工资最高的员工姓名


    第二组:

    1.某电信公司的市内通话费计算标准如下:三分钟内0.2元,三分钟后每增加一分钟增加0.1元,不足一分钟的按一分
    钟计算。要求编写程序,给定一个通话时间(单位:秒),计算出应收费金额。

    2.某市的出租车计费标准为:3公里以内10元,3公里以后每0.5公里加收1元;每等待5分钟加收1元;
    超过15公里的加收原价的50%为空驶费。要求编写程序,对于任意给定的里程数(单位:公里)和等待时间(单位:秒)
    计算出应付车费

    3.打印出100-999中所有的"水仙花数",所谓"水仙花数"是指一
      个三位数,其各位数字立方和等于该数本身。例如:
      153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方
     
    4.输出100之内的素数总个数,所谓"素数"是指除了1和它本身以外,不能被任何整数整除的数,例如17
    5.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数
    6.找1000以内最大平方数
    7.输入n, 计算1到n的阶乘之和


    # 作业:
    # 第一组:
    #
    # 1.接收用户输入一个年份,判断是否是闰年(判断闰年的方法是该年能被4整除并且不能被100整除,或者是可以被400整除)
    # year = input('请输入年份:')
    # year = int(year)
    # if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    #     print('是闰年')
    # else:
    #     print('不是闰年')
    
    # 2.接收用户输入一组整数,输入负数时结束输入,输出这组数字的和:格式--您输入的数字之和是:xxxx
    # sum = 0
    #
    # while True:
    #     a = input('请输入一个整数')
    #     if a.isdigit():
    #         a = int(a)
    #         sum += a
    #     elif a.startswith('-') and a[1:].isdigit():
    #         break
    #     else:
    #         print('不是整数')
    #
    # print(sum)
    
    # 3.一个5位数,判断它是不是回文数。如,12321是回文数,个位与万位相同,十位与千位相同
    
    # while True:
    #     a = input('请输入一个5位数')
    #
    #     if a.isdigit():
    #         if len(a) == 5:
    #             if a[0] == a[-1] and a[1] == a[-2]:
    #                 print('是回文数')
    #             else:
    #                 print('不是回文数')
    #         else:
    #             print('长度不正确')
    #     else:
    #         print('输入错误')
    
    # 4.接收用户输入的数字,计算该数字的阶乘
    
    # while True:
    #     result = 1
    #
    #     n = input('请输入:')
    #     if n.isdigit():
    #         n = int(n)
    #         # if n != 0 and n != 1:
    #         for i in range(1, n+1):
    #             result *= i
    #
    #         print('%d的阶乘是%d' % (n, result))
    #
    #     else:
    #         print('输入错误')
    
    # 5.给定一个字符串 target = 'hello huice',从中找出第一个不重复的字符,输出它是第几位
    # target = 'hello huice'
    # for c in target:
    #     if target.count(c) == 1:
    #         print('第一个不重复字符是%s,它在第%d位' % (c, target.index(c) + 1))
    #         break
    
    # 6.去除上一题中的重复字符,得到一个新的字符串
    # target = 'hello huice'
    # new = ''
    # for c in target:
    #     if target.count(c) == 1:
    #         new += c
    # print(new)
    #
    # 7. 员工工资表,查询结果集如下:((1, 'zhangsan', 3000), (2, 'lisi', 2500), (3, 'tiantian', 20000))
    #     (1)计算员工的平均工资
    #     (2)输出工资最高的员工姓名
    
    # salaries = ((1, 'zhangsan', 3000), (2, 'lisi', 2500), (3, 'tiantian', 20000))
    # sum = 0
    # count = len(salaries)
    # max_salary = salaries[0][-1]
    # max_person = salaries[0][1]
    #
    # for person in salaries:
    #     sum += person[-1]
    #     if person[-1] > max_salary:
    #         max_person = person[1]
    #
    # print('员工平均工资是%.2f' % (sum/count))
    # print('工资最高的人是%s' % max_person)
    
    #
    #
    # 第二组:
    #
    # 1.某电信公司的市内通话费计算标准如下:三分钟内0.2元,三分钟后每增加一分钟增加0.1元,不足一分钟的按一分
    # 钟计算。要求编写程序,给定一个通话时间(单位:秒),计算出应收费金额。
    # while True:
    #     time = input('请输入通话时间:')
    #
    #     time = int(time)
    #     fee = 0
    #
    #     if time/60 <= 3:
    #         fee = 0.2
    #
    #     elif time % 60 != 0:
    #         fee = 0.2 + 0.1 * ((time - 180)/60 + 1)
    #
    #     elif time % 60 == 0:
    #         fee = 0.2 + 0.1 * (time - 180)/60
    #
    #     print('通话时间为%d分%d秒,话费为%.2f元' % (time/60, time % 60, fee))
    
    # 2.某市的出租车计费标准为:3公里以内10元,3公里以后每0.5公里加收1元;每等待5分钟加收1元;
    # 超过15公里的加收原价的50%为空驶费。要求编写程序,对于任意给定的里程数(单位:公里)和等待时间(单位:秒)
    # 计算出应付车费
    
    # while True:
    #     distance = input('distance:')
    #     wait_time = input('wait_time:')
    #
    #     fee = 10.0
    #
    #     distance = float(distance)
    #     wait_time = float(wait_time)
    #
    #     if distance <= 3:
    #         pass
    #     else:
    #         fee += 1 * (distance - 3) // 0.5
    #
    #     if wait_time >= 0:
    #         fee += 1 * (wait_time // 300)
    #
    #     if distance > 15:
    #         fee *= 1.5
    #
    #     print('您的费用为%.2f' % fee)
    
    # 3.打印出100-999中所有的"水仙花数",所谓"水仙花数"是指一
    #   个三位数,其各位数字立方和等于该数本身。例如:
    #   153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方
    # for num in range(100, 1000):
    #     hundreds = num // 100
    #     decades = (num % 100) // 10
    #     unit = num % 10
    #
    #     if hundreds ** 3 + decades ** 3 + unit ** 3 == num:
    #         print(num)
    
    # 4.输出100之内的素数总个数,所谓"素数"是指除了1和它本身以外,不能被任何整数整除的数,例如17
    # counter = 0
    # for n in range(1, 101):
    #
    #     if n == 1:
    #         continue
    #
    #     for i in range(2, n):
    #         if n % i == 0:
    #             break
    #     else:
    #         counter += 1
    # print('一共有%d个素数' % counter)
    
    # 5.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数
    #找出一个数的所有因子(包括1但不包括它自身,放到一个列表里)
    
    # for num in range(1, 1001):
    #
    #     divisors = []
    #     for i in range(1,num):
    #         if num % i == 0:
    #             divisors.append(i)
    #
    #     sum = 0
    #     for div in divisors:
    #         sum += div
    #
    #     if sum == num:
    #         print(num)
    
    # 6.找1000以内最大平方数
    # result = 1
    #
    # for i in range(1, 1001):
    #     sqr = i ** 2
    #     if sqr <= 1000:
    #         result = sqr
    #     else:
    #         break
    # print('1000以内最大平方数为%d' % result)
    
    # 7.输入n, 计算1到n的阶乘之和
    # n = input('请输入n的值:')
    # n = int(n)
    # sum = 0
    # for i in range(1, n + 1):
    #
    #     fact = 1
    #     for j in range(1, i + 1):
    #         fact *= j
    #
    #     sum += fact
    # print('1到%d的阶乘之和为%d' % (n, sum))



  • 相关阅读:
    bzoj3993: [SDOI2015]星际战争
    bzoj3583: 杰杰的女性朋友 && 4362: Graph
    bzoj2260: 商店购物 && 4349: 最小树形图
    老oj3444 && Pku3241 Object Clustering
    bzoj3754: Tree之最小方差树
    bzoj2215: [Poi2011]Conspiracy
    老oj曼哈顿最小生成树
    bzoj2180: 最小直径生成树
    棋盘问题
    油田 Oil Deposits
  • 原文地址:https://www.cnblogs.com/lp475177107/p/9908196.html
Copyright © 2020-2023  润新知