目录
实例3:求一个整数:它加上100后是一个完全平方数,再加上168又是一个完全平方数
实例1:四个数字能组成多少个互不相同且无重复数字的三位数
题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
# -*- coding: UTF-8 -*-
count = 0
for i in range(1,5):
for j in range(1,5):
for k in range (1,5):
if i != j and i != k and j!=k:
count = count + 1
print i,j,k
print "number is: ",count
实例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,求应发放奖金总数?
#coding:UTF-8
def cal_bonuses(gain):
if gain <= 10:
return 0.1 * gain
elif gain <= 20:
return 0.1 * 10 + 0.075 * (gain - 10)
elif gain <= 40:
return 0.1 * 10 + 0.075 * (20 -10) + 0.05 * (gain - 20)
elif gain <= 60:
return 0.1 * 10 + 0.075 * (20 -10) + 0.05 * (40 - 20) + 0.03 * (gain - 40)
elif gain <= 100:
return 0.1 * 10 + 0.075 * (20 -10) + 0.05 * (40 - 20) + 0.03 * (60 - 40) + 0.015 * (gain - 60)
else:
return 0.1 * 10 + 0.075 * (20 -10) + 0.05 * (40 - 20) + 0.03 * (60 - 40) + 0.015 * (100 - 60) + 0.01 * (gain - 100)
def cal_bonuses2(gain):
bonuses = 0
arr = [100, 60, 40, 20, 10, 0]
arr2 = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
for i in range(0, 6):
if gain > arr[i]:
bonuses += (gain - arr[i]) * arr2[i]
print (gain - arr[i]) * arr2[i]
gain = arr[i]
return bonuses
def main():
while 1:
I = input("Please input gain of this mouth I(wan):")
if I < 0:
print "error"
else:
bonuses = cal_bonuses(I)
bonuses = cal_bonuses2(I)
print "bonuses is: ", bonuses
main()
实例3:求一个整数:它加上100后是一个完全平方数,再加上168又是一个完全平方数
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?:
# coding: UTF-8
import math
def is_yes(number):
tmp = int(math.sqrt(number))
if number == tmp * tmp:
return 1
else:
return 0
def main():
for num in range(-100, 10000):
if is_yes(num + 100) and is_yes(num + 100 + 168):
print num
main()
实例4:判断给定日期是这一年的第几天
题目:输入某年某月某日,判断这一天是这一年的第几天?
# coding: UTF-8
def is_run(year):
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
return 1
else:
return 0
def cal_num(year, mouth, day):
num = day
arr = [31, 28, 31, 30, 31, 30, 31, 31, 30 ,31, 30, 31]
if mouth == 1:
return day
if mouth == 2:
return 31+day
if mouth > 2:
for i in range(0, mouth-1):
num += arr[i]
if is_run(year):
return num + 1
else:
return num
def main():
year = int(raw_input("please input year:"))
month = int(input("please input mouth:"))
day = input("please input day:")
number = cal_num(year, month, day)
print "year:", year, " month: ", month, " day: ",day , "is the ", number, "day of the year"
main()
实例5:从小到达排序
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
# coding: UTF-8
# 交换两数值方法: 1. tmp 2. python特有 3. 加法 4. 异或
# tmp = a
# a = b
# b = tmp
# arr[i], arr[i+1] = arr[i+1], arr[i]
# a = a + b
# b = a - b
# a = a - b
# a = a ^ b
# b = a ^ b
# a = a ^ b
#python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。
# strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象
def sort(arr, length):
for i in range(0, length-1):
for j in range(0, length-1-i):
if arr[j] > arr[j+1]:
# swap(arr[i], arr[i+1])
arr[j], arr[j+1] = arr[j+1], arr[j]
def main():
print "Plz input there numbers:"
x = input("X:")
y = input("y:")
z = int(raw_input("z:"))
arr = [x, y, z]
sort(arr, len(arr))
print arr
def method2():
arr = []
for i in range(3):
x = input("请输入三个数:第%s个数:" % i)
arr.append(x)
arr.sort()
print arr
main()
method2()
实例6:斐波那契数列
# coding: UTF-8
def fib1(n):
l = []
l.append(1)
l.append(1)
for i in range(2, n):
l.append(l[i-2] + l[i-1])
print l
def fib2(n):
a, b = 1, 1
for i in range(n-1):
a, b = b, a+b
return a
def fib3(n):
if n == 1 or n == 2:
return 1
return fib3(n - 1) + fib3(n - 2)
def fib4(n):
if n == 1:
return [1]
if n == 2:
return [1, 1]
fibs = [1, 1]
for i in range(2, n):
fibs.append(fibs[-1] + fibs[-2])
return fibs
fib1(10)
print fib2(10)
print fib3(10)
print fib4(10)
实例7:将一个列表的数据复制到另一个列表中
# coding: UTF-8
l1 = [1, 2, 3]
l2 = l1
l3 = l1[:]
print 'l2:', l2, " l3:", l3
l1.append(4)
print 'l2:', l2, " l3:", l3
实例8:输出 9*9 乘法口诀表
# coding: UTF-8
# python 输出不换行: 2.x: ","; 3.x: end=""
# 制表符,换行符: \t \n
for i in range(1, 10):
for j in range(i, 10):
print i, " X ", j, "=", i*j, '\t' ,
print
print "******************************************"
for i in range(1, 10):
for j in range(1, i+1):
print j, '*', i, '=', i*j, '\t',
print
print "*****************************************"
for i in range(1, 10):
print
for j in range(1, i+1):
print "%d x %d = %d" % (i, j, i*j),
实例9:暂停一秒输出
# coding: UTF-8
import time
for i in range(10):
time.sleep(1)
print i
myD = {1: 'a', 2: 'b', 3: 'c'}
for key, value in dict.items(myD):
print key, value
time.sleep(1)
实例10:暂停一秒输出,并格式化当前时间
# coding: UTF-8
import time
for i in range(10):
time.sleep(1)
print time.time()
print time.localtime(time.time())
# print time.strftime('%Y-%m-%d', time.time()) //error
print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))