题目:企业发放的奖金根据利润提成。
利润(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,求应发放奖金总数?
第一种:
I = float(input("请输入你的利润(万元):"))
bonu = 0
if I <= 10:
bonu = I * 10000 * 0.1
elif I > 10 and I <= 20:
bonu = 100000 * 0.1 + (I - 10) * 100000 * 0.075
elif I > 20 and I <= 40:
bonu = 100000 * 0.1 + 100000 * 0.075 + (I - 20) * 100000 * 0.05
elif I > 40 and I <= 60:
bonu = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (I - 40) * 100000 * 0.03
elif I > 60 and I <= 100:
bonu = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (I - 60) * 100000 * 0.015
elif I > 100:
bonu = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (I - 100) * 10000 * 0.01 print("你的奖金是:", bonu)

第二种:

i = int(input('净利润:'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
bonu = 0
for idx in range(0, 6):
if i > arr[idx]:
bonu += (i - arr[idx]) * rat[idx]
# print((i - arr[idx]) * rat[idx])
i = arr[idx] print(bonu)
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

第一种直接破解:
import math
x = 0
while True:
# if isinstance(math.sqrt(x + 100), int) and isinstance(math.sqrt(x + 268), int):
# print(x)
str1 = str(math.sqrt(x + 100))
str2 = str(math.sqrt(x + 268)) if str1.split('.')[1] == '' and str2.split('.')[1] == '':
print(x) x += 1

本来想用isinstance来判断是否是整形,但是python3的计算出来的整数后面会带有.0所以还是一个float类型就不能区分了,所以就用了str里面的split函数。

虽然可以得出结果但是没有退出条件,会一直执行下去。

第二种温和解决:

x + 100 = n2

x + 268 = m2

m2 - n2 = 168

(m + n) * (m - n) = 168

i = m + n

j = m - n

i * j = 168  i 和 j 至少有一个是偶数

m = (i + j) / 2

n = (i - j) / 2

m 、i、j、 n 都是偶数

for i in range(1, 85):
if 168 % i == 0:
j = 168 / i
if i < j and (i + j) % 2 == 0 and (i - j) % 2 == 0:
m = (i + j) / 2
n = (i - j) / 2
y = n * n - 100
print(y)

3、输入某年某月某日,判断这一天是这一年的第几天

year = int(input('请输入年份:'))
month = int(input('请输入月份:'))
day = int(input('请输入几号:'))
#days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
days = [0, 31, 59, 90, 120, 151, 181, 212, 244, 274, 305, 335]
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0 :
if month > 2:
year_day = days[month - 1] + day + 1
else:
year_day = days[month - 1] + day
else:
year_day = days[month - 1] + day print('{}-{}-{}:是今年的第{}天'.format(year, month, day, year_day))

第二种用time模块

import time

year = int(input('请输入年份:'))
month = int(input('请输入月份:'))
day = int(input('请输入几号:'))
tuple_time = time.strptime('{}-{}-{}'.format(year, month, day), '%Y-%m-%d')
print('{}-{}-{}是今年的第{}天'.format(year, month, day, tuple_time.tm_yday))

Python 用(无脑 and 有脑)方式解决小练习的更多相关文章

  1. python读取hdfs上的parquet文件方式

    在使用python做大数据和机器学习处理过程中,首先需要读取hdfs数据,对于常用格式数据一般比较容易读取,parquet略微特殊.从hdfs上使用python获取parquet格式数据的方法(当然也 ...

  2. python中逐行读取文件的最佳方式_Drupal_新浪博客

    python中逐行读取文件的最佳方式_Drupal_新浪博客 python中逐行读取文件的最佳方式    (2010-08-18 15:59:28)    转载▼    标签:    python   ...

  3. 【转】python之配置日志的几种方式

    [转]python之配置日志的几种方式 作为开发者,我们可以通过以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用 ...

  4. python中json格式数据输出实现方式

    python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...

  5. python 另一种打开文章的方式——codecs

    通常我们使用python打开文件都是 open(‘beijing.txt’)或者是 with open(‘beijing.txt’)as f 那么今天来给你带来一个新的文档打开方式 python的co ...

  6. Python的with语句(文件打开方式)

    Python文件打开方式(with语句) python编程中对于文件的打开方式主要有以下两种: 1.利用直接性的open("","")函数:(举例说明) try ...

  7. JS杂技之无中间变量的值交换方式

    从http://www.cnblogs.com/liuyitian/p/4081517.html#3074553看到一种无中间变量的值交换方式,具体如下: var a = 1;var b = 2;a ...

  8. Python调用API接口的几种方式 数据库 脚本

    Python调用API接口的几种方式 2018-01-08 gaoeb97nd... 转自 one_day_day... 修改 微信分享: 相信做过自动化运维的同学都用过API接口来完成某些动作.AP ...

  9. Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量

    Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量 一丶线程的理论知识 什么是线程:    1.线程是一堆指令,是操作系统调度 ...

随机推荐

  1. 小程序中嵌套的h5页面设置分享转发

    场景描述:当在小程序中打开h5页面时,希望小程序的转发出去的标题,图片,跳转link可以通过h5通信实现自定义. 实现方式:通过h5给小程序通信,发送标题,图片,跳转link等信息,让小程序设置分享. ...

  2. C语言--二维数组

    一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 定义变量n表示输入整数个数,count表示每个数出现次数,i.j表示循环变量,k表示次数最多 ...

  3. Thingsboard Docker关闭后重启服务创建network出错

    因为个人想验证一下thingsboard的数据是否是保存在postgres中,就将postgres容器停止,后想重启则无法重启 我干脆将整个系统删除后重新再来一次,在试的时候发现无法重新创建容器 Cr ...

  4. Java 从入门到进阶之路(十六)

    在之前的文章我们介绍了一下 Java 中类的多态,本章我们来看一下 Java 中类的内部类. 在 Java 中,内部类分为成员内部类和匿名内部类. 我们先来看一下成员内部类: 1.类中套类,外面的叫外 ...

  5. Workstation 14 Returns EFI Network Start PXE over IPv4 When Installing New Win10 Guest O/S

    当启动出现“Click any key to boot from DVD”时候,需要键盘点击一下,即可解决. 参考:https://communities.vmware.com/thread/5730 ...

  6. Rare-Variant Association Analysis | 罕见变异的关联分析

    Rare-Variant Association Analysis: Study Designs and Statistical Tests 10 Years of GWAS Discovery: B ...

  7. 每个Web开发者都需要具备的9个软技能--ZT

    本文原始链接:http://www.cnblogs.com/oooweb/p/soft-skills-every-web-developer-should-master.html 对于一份工作,你可能 ...

  8. jqGrid怎样冻结指定的列

    第一步设置colModel  列内的 frozen: true: 第二步设置表格初始时宽度 shrinkToFit: false, 第三步设置  $gridTable.jqGrid('setFroze ...

  9. ubuntu二进制包安装openresty

    date: 2019-08-01 17:59:59 author: headsen chen # 导入我们的 GPG 密钥: wget -qO - https://openresty.org/pack ...

  10. go cmd nohup 的坑

    https://github.com/go-cmd/cmd/issues/20 golang 的 cmd 包在执行系统命令时,如果使用的到了 nohup 命令, 那么就需要注意, 需要在 nohup ...