Python编程练习题学习汇总
实例一:数学计算
简述:这里有四个数字,分别是:1、2、3、4
提问:能组成多少个互不相同且无重复数字的三位数?各是多少?
Python解题思路分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。(for循环)
代码实现:
list = [] #定义一个空的列表用来存储生产的数字
for i in range(1,5): #定义百位数
for j in range(1,5): #定义十位数
for k in range(1,5): #定义个位数
if i != j and j !=k and i != k:
num = i*100+j*10+k
print(num)
list.append(num) #将生成的数字加入到list列表中
result_num = len(list) #统计列表中元素的个数
print("可以组合的个数为%d"%(result_num))
实例1
实例二:关于数轴和长整型数据类型的练习
简述:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
Python解题思路分析:请利用数轴来分界及定位。并要注意定义时需要把奖金定义成长整型的数据类型。
代码实现:
profit = int(input("请输入您的净利润:"))
arr = [1000000,600000,400000,200000,100000,0]
Money_rate = [0.01,0.015,0.03,0.05,0.075,0.1]
bonus = 0
for i in range(0,6):
if profit > arr[i]: #判断净利润的范围
bonus += (profit-arr[i])*Money_rate[i] #奖金的计算
print((profit-arr[i])*Money_rate[i])
profit = arr[i] #重新复制净利润,进行低阶段判断
print(bonus)
实例三:平方数的操作练习
简述:一个整数,它加上100和加上268后都是一个完全平方数
提问:请问该数是多少?
Python解题思路分析:在10000以内判断,将该数加上100后再开方,加上268后再开方,如果开方后的结果满足如下条件,即是结果。
说明:sqrt() 方法返回数字x的平方根,sqrt()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法
import math
for i in range(10000):
x = int(math.sqrt(i+100))
y = int(math.sqrt(i+268))
if x * x == i + 100 and y * y == i + 268:
print(i)
实例四:日期计算,编程练习
简述:要求输入某年某月某日
提问:求判断输入日期是当年中的第几天?
Python解题思路分析:我们就以3月5日这一天为例。首先把前两个月的加起来,然后再加上5天即本年的第几天。这里有一种特殊的情况,就是闰月,遇到
这种情况且输入月份大于2时需考虑多加一天。如果不是很明白,可以看下边的python源码。
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入天:"))
months = (0,31,59,90,120,151,181,212,243,273,304,334) #按月份统计该月份前的天数
if 0 < month <= 12:
sum = months[month-1]
else:
print("日期输入错误!")
sum += day
a = 0 #定义一个中间变量
if (year % 400 == 0) or (( year % 4 == 0 ) and ( year % 100 != 0)): #判断年份是否是闰年
a = 1
if (a == 1) and ( month > 2):
sum += 1
print("今天是第%s天"%sum)
持续更新中……
参考:http://www.iplaypy.com/python-100/
Python编程练习题学习汇总的更多相关文章
- Python编程练习题
1 求可用被17整除的所有三位数 for num in range(99,1000): if num % 17 == 0: print num ps:下面的写法和上面的写法性能的差距,上面好吧? fo ...
- 《灰帽Python-黑客和逆向工程师的Python编程》学习记录
ctypes是Python语言的一个外部库,提供和C语言兼容的数据类型,可以很方便的调用C DLL中的函数. 操作环境:CentOS6.5 Python版本:2.66 ctypes是强大的,强大到本书 ...
- [python篇][其他] python博客学习汇总
http://blog.csdn.net/zhangxinrun/article/details/8141913
- 学习 Python 编程的 19 个资源 (转)
学习 Python 编程的 19 个资源 2018-01-07 数据与算法之美 编译:wzhvictor,英文:codecondo segmentfault.com/a/119000000418731 ...
- 学习Python编程的11个资源
用 Python 写代码并不难,事实上,它一直以来都是被声称为最容易学习的编程语言.如果你正打算学习 web 开发,Python 是一个不错的选择,甚至你想学游戏开发也可 以从 Python 开始,因 ...
- 学习Python编程的11个精品资源
本文由 伯乐在线 - atupal 翻译自 Alex Ivanovs.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. 用 Python 写代码并不难,事实上,它一直以来都是被声称为最容易学习的编程 ...
- Linux运维人员如何学习python编程
Linux运维人员如何学习python编程 从不会写代码,到自己独立能写代码解决问题 .这个问题很重要!盲目学习所谓的项目,最后 还是不会自己写代码解决问题.首先解决了独立能写代码解决问题,再通过项目 ...
- 入门python:《Python编程从入门到实践》中文PDF+英文PDF+代码学习
入门python推荐学习久负盛名的python入门书籍<Python编程从入门到实践>. 书中涵盖的内容是比较精简的,没有艰深晦涩的概念,最重要的是每个小结都附带有"动手试一试& ...
- 学习Python编程的最好的几本书
读书是汲取某个特定学科的知识以及更深入的理解该学科的最好的方式.在这个科技世界,通晓计算机系统各个不同的技术领域是至关重要的.其中最重要的内容之一便是计算机程序语言.现今,计算机中存在许多不同类型的程 ...
随机推荐
- WPF中ListBox的绑定
WPF中列表式控件派生自ItemsControl类,继承了ItemsSource属性.ItemsSource属性可以接收一个IEnumerable接口派生类的实例作为自己的值(所有可被迭代遍历的集合都 ...
- redis从入门到放弃 -> 简介&概念
一.redis简介 Redis是一款开源的.高性能的键-值存储.它常被称作是一款数据结构服务器. 当值支持的主要数据类型为:字符串(strings)类型,括哈希(hashes).列表(lists).集 ...
- vue+vuex+axios+echarts画一个动态更新的中国地图
一. 生成项目及安装插件 # 安装vue-cli npm install vue-cli -g # 初始化项目 vue init webpack china-map # 切到目录下 cd china- ...
- C# listView subitem 问本值 text 改变 界面会闪烁
解决方法 就是重写ListView,然后设置双缓冲即可,然后再使用DoubleBufferListView,就不会闪烁了.下面的代码是DoubleBufferListView,并使用FrmMain来测 ...
- 强大的vi的几个功能
1 拷贝第十行到第十三行到文件a中,不用!亦可 : 比如你要拷贝从第10行到第109行到文件123.txt中,可以用以下的命令:10,109w!123.txt
- TDictionary 与 TObjectDictionary
TDictionary 与 TObjectDictionary 的区别是 : TObjectDictionary 可以做到 free的时候 里面的对象 一并free,从而不会出现内存 泄露. 用途: ...
- ef查询mysql数据库数据支持DbFunctions函数
1.缘由 快下班的时候,一同事说在写linq查询语句时where条件中写两时间相减大于某具体天数报错:后来仔细一问,经抽象简化,可以总结为下面的公式: a.当前时间 减去 某表时间字段 大于 某具体天 ...
- Pytest里,mark装饰器的使用,双引号,没引号,这种差别很重要
按最新版的pytest测试框架. 如果只是单一的mark,不要加任何引号. 如果是要作and ,not之类的先把,一定要是双引号! 这个要记清楚,好像和以前版本的书上介绍的不一样,切记! import ...
- mycat性能调优
http://blog.csdn.net/wangshuang1631/article/details/69056070
- CIDR的IP地址的表示与划分方法
早期的ip地址划分: 最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID.同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包 ...