ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python 入门100题 -- Day 2

2021-04-13 17:01:29  阅读:183  来源: 互联网

标签:bonus Python 31 30 -- int input 100


题目4:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

思路:有两种方式来获得有间隔的税率计算,一种就是用最简单的if 判断,写下每种条件下的对应的奖金如何计算;这种方法比较直接有效,但深入理解后,选择用数轴分界法来实现更加简便。

代码一(简单思路):

input_int = int(input('请输入当月利润:'))
if input_int >1000000:
    bonus = (input_int-1000000)*0.01 + 1000000*0.015
    if input_int >600000:
        bonus = (input_int-600000)*0.015+ 600000*0.03
        if input_int >400000:
            bonus =(input_int-400000)*0.03+400000*0.05
            if input_int >200000:
                bonus =(input_int-200000)*0.05+200000*0.075
                if input_int >100000:
                    bonus =(input_int-100000)*0.1

print('奖金总数为:%f'%bonus)

代码二(数轴分界):

int_ratio = [0.01,0.015,0.03,0.05,0.075,0.1]
bonus_level =[1000000,600000,400000,200000,100000,0]
input_int = int(input('请输入当月利润:'))
bonus =0 
for i in range(0,6):
    if input_int>bonus_level[i]:
        bonus += (input_int-bonus_level[i])*int_ratio[i]
        input_int= bonus_level[i]

print ('奖金总数为:%f'%bonus) 

题目5:一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?

思路:首先要判断一个数是否是完全平方数,完全平方数的特点是开平方后获得一个整数,所以可以先开方后平方看是否与之前的数相等。

代码:

import math
def is_sqrt(x):
    a =int(math.sqrt(x))
    return a*a == x
while i>0:
    i+=1
    if is_sqrt(i+100) and is_sqrt(i+268):
        print (i)
        break

结果:21

题目6:输入某年某月某日,判断这一天是这一年的第几天?

思路:判断为哪一天的重点就是判断是否为闰年,如果是闰年的话则二月29天,否则28天,同样类似的采用列表定义好每个月的日期数,然后直接累加到输入的月份就好了。

代码:

def whatday(x,y,z):
    month =[1,2,3,4,5,6,7,8,9,10,11,12]
    day1=[31,28,31,30,31,30,31,31,30,31,30,31]
    day2=[31,29,31,30,31,30,31,31,30,31,30,31]
    day=0
    for i in range(0,12):
        if y==month[i]:
            day = day+z
            return day
            break
        if x%4==0 and x%100!=0: #看是否是闰年
            day+= day2[i]
        day+=day1[i]
        

x =int(input('请输入某年:'))
y =int(input('请输入某月:'))
z =int(input('请输入某日:'))

print (whatday(x,y,z))

标签:bonus,Python,31,30,--,int,input,100
来源: https://blog.csdn.net/Tracy_xixi/article/details/115670334

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有