作业:
第一组:
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))