码迷,mamicode.com
首页 > 编程语言 > 详细

Python练习题

时间:2015-04-11 19:08:34      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

  首先废话几句,因为最近学了Python的一些基础的语法,但是发现看书看的不少但是练习做的太少。要学好一门语言最重要的是要多敲代码,在练习中是可以发现很多的问题,这些都是单纯的看书无法得到的。所以鉴于网上关于Python练习题的资源相对较少,而且有的资源只是给出了问题但是没有提供参考的代码。于是我斗胆作为一个小白整理了一系列的Python练习题,希望能给同样的志同道合的Python热爱者提供一些方便。(作为一个刚入道不久的小白,文章中难免有些糟粕,代码也难免有些麻烦或者错误的地方,希望看见的有缘人在下方的评论中可以指出来,在下感激不尽!)

Python练习题:

1.有 123个数字,能组成多少个互不相同且无重复数字的三位数?都是多 少?

 

 1 #encoding=utf-8
 2 __author__ = heng
 3 #利用1,2,3,4可以组成多少个三位数,并且没有重复数字
 4 figure = [1,2,3,4]
 5 number = 0
 6 for x in figure:
 7     for y in figure:
 8         if x == y:
 9             continue
10         else:
11             for z in figure:
12                 if y == z or z == x:       #注意是or不是and
13                     continue
14                 else:
15                     number += 1
16                     print 100*x + 10*y + z
17 print "the number is %s"%number

 

2.企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?

 

 1 #encoding=utf-8
 2 __author__ = heng
 3 #题目不再累述
 4 the_profit = float(raw_input("please enter the profit:"))
 5 money_award = 0.0
 6 if the_profit <= 10:
 7     money_award = the_profit * 0.1
 8 elif the_profit <= 20:
 9     money_award = 10 * 0.1 + (the_profit-10)*0.075
10 elif the_profit <=40:
11     money_award = 10*0.1 + 10*0.075 + (the_profit-20)*0.05
12 elif the_profit <= 60:
13     money_award = 10*0.1 + 10*0.075 + 20 * 0.05 + (the_profit-40)*0.03
14 elif the_profit <= 100:
15     money_award = 10*0.1 + 10*0.075 + 20 * 0.05 + 20*0.03 + (the_profit-60)*0.015
16 elif the_profit > 100:
17     money_award = 10*0.1 + 10*0.075 + 20 * 0.05 + 20*0.03 + 40 * 0.015 + (the_profit - 100) * 0.01
18 print "the money award is:%s"%money_award

 

貌似感觉这个的代码量确实比较大但是时间复杂度还是相对比较低的

3.一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数, 请问该数是多少?

针对这个问题,我暂时只是想到了最笨最直接的方法,如果还有更加简便的方法希望大神可以在下面评论中告诉我。(感激不尽)

 

 1 #encoding=utf-8
 2 __author__ = heng
 3 #找出符合题目要求的数字
 4 from math import sqrt
 5 the_figure = 0
 6 while True:
 7     if sqrt(the_figure + 100) == int(sqrt(the_figure+100)):
 8         if sqrt(the_figure +268) == int(sqrt(the_figure+268)):
 9             print "the figure is:%s"%the_figure
10             break
11     the_figure += 1

 

Python练习题

标签:

原文地址:http://www.cnblogs.com/xiaoli2018/p/4418059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!