# -*- coding:UTF-8 -*-
# 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
for i in range(1,5):
for j in range(1,5):
if i!=j:
for k in range(1,5):
if k!=i and k!=j:
print i,j,k
#求月利润
i = int(raw_input("请输入利润,单位为万元"))
a = [10, 20, 40, 60, 100]
j = 0
k = 0
while i > 0:
if i>a[j]:
i -= a[j]
j += 1
# 求输入的日期是一年当中的第几天
year = int(raw_input("输入year\n"))
month = int(raw_input("输入month\n"))
day = int(raw_input("输入day\n"))
m = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
result = 0
if 0 < month <= 12:
result += m[month - 1]
else:
print "错误的月份"
if 0 < day < 32:
result += day
else:
print "错误的日期"
specialYear = 0
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
specialYear = 1
if specialYear == 1 and month > 2:
result += 1
print '这是第 %d 天' % result
#斐波那契数列
F0=0 F1=1 FN=F[N-1]+F[N-2]
# 问题同有一对兔子,从出生后第3个月起
# 每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
# 假如兔子都不死,问每个月的兔子对的总数为多少?
# 若从兔子出生的j个月开始生兔子,则FN=F[N-1]+F[N-i+1]
def fib(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
print fib(3)
#复制列表 暂停5秒 格式化当前时间
import time
a = [1, 2, 3, 4]
b = a[:]
print b
time.sleep(5) #暂停5秒
print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
#打印水仙花数
n = 100
while n < 1000:
i = n / 100
j = (n - i*100) / 10
k = n - i*100 - j*10
if n == i**3 + j**3 + k**3:
print n
n += 1
#分解质因数
def depart(n):
print '%d = ' % n,
result = []
while n > 1:
for i in range(2, n+1):
if n % i == 0:
result.append(i)
n /= i
break
for i in result:
print i ,
if i != result[-1]:
print '*' ,
##调用算法
#depart(90)
#完数:值为因子之和 6=1+2+3
for num in range(2, 1000):
n = num
result = 1
for i in range(2, n):
if n % i == 0:
result += i
if result == num:
print num
#从9到1 ,取值
for i in range(9,0,-1):
print i
# 两个乒乓球队进行比赛,各出三人。
# 甲队为a,b,c三人,乙队为x,y,z三人。
# 已抽签决定比赛名单。有人向队员打听比赛的名单。
# a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
x = ['b', 'c']
y = ['a', 'b', 'c']
z = ['b']
s = True
while s:
if len(x) == 1:
i = x[0]
if y.count(i)>0:
y.remove(i)
if z.count(i)>0:
z.remove(i)
if len(y) == 1:
i = y[0]
if x.count(i) > 0:
x.remove(i)
if z.count(i) > 0:
z.remove(i)
if len(z) == 1:
i = z[0]
if y.count(i) > 0:
y.remove(i)
if x.count(i) > 0:
x.remove(i)
if len(z) == 1 and len(x) == 1 and len(y) == 1:
s=False
print 'xyz分别对应'+ x[0],y[0],z[0]
# 用lambda创建匿名函数 true作为数字使用值为1,false值为0
x = 10
y = 20
MAXIMUM = lambda x, y: (x > y) * x + (x < y) * y
MINIMUM = lambda x, y: (x < y) * x + (x > y) * y
print '最大值为 %d' % MAXIMUM(x,y)
print '最小值为 %d' % MINIMUM(x,y)
# 输出随机数
import random
print random.uniform(0,1)
# 只在直接执行此文件代码时执行,若被导入到其他模块中则不执行此函数下的代码
# 设置一个低4位全为1,其余全为0的数。可用~(~0<<4)
if __name__=='__main__':
print ~(-234)
# 正数取反:取反(变成负数),再取补码(负数的补码为除符号位之外的位取反,然后加1)
# 负数取反:先取补码,再取反
# 画图
if __name__ == '__main__':
from Tkinter import *
root = Tk()
root.title('Canvas')
canvas = Canvas(width=800, height=600, bg='yellow')
#canvas.pack(expand=YES, fill=BOTH)
x0 = 263
y0 = 263
x1 = 275
y1 = 275
for i in range(0, 26):
#canvas.create_oval(310 - k, 250 - k, 310 + k, 250 + k, width = 1)
canvas.create_rectangle(x0,y0,x1,y1)
x0 -= 5
y0 -= 5
x1 += 5
y1 += 5
canvas.pack()
root.mainloop()
##画图
if __name__ == '__main__':
import math
from Tkinter import *
class PTS:
def __init__(self):
self.x = 0
self.y = 0
points = []
def LineToDemo():
screenx = 400
screeny = 400
canvas = Canvas(width=screenx, height=screeny, bg='white')
AspectRatio = 0.85
MAXPTS = 15
h = screeny
w = screenx
xcenter = w / 2
ycenter = h / 2
radius = (h - 30) / (AspectRatio * 2) - 20
step = 360 / MAXPTS
angle = 0.0
for i in range(MAXPTS):
rads = angle * math.pi / 180.0
p = PTS()
p.x = xcenter + int(math.cos(rads) * radius)
p.y = ycenter - int(math.sin(rads) * radius * AspectRatio)
angle += step
points.append(p)
canvas.create_oval(xcenter - radius, ycenter - radius,
xcenter + radius, ycenter + radius)
for i in range(MAXPTS):
for j in range(i, MAXPTS):
canvas.create_line(points[i].x, points[i].y, points[j].x, points[j].y)
canvas.pack()
mainloop()
LineToDemo()
# 有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数
if __name__ == '__main__':
n = int(raw_input('整数n为:\n'))
m = int(raw_input('整数m为:\n'))
initial_number = []
for i in range(n):
initial_number.append(int(raw_input('输入一个数字\n')))
print '初始数组为:' , initial_number
t1 = initial_number[0 : n-m]
print '数组t1为:' , t1
t2 = initial_number[n-m : n]
print '数组t2为:' , t2
t3 = t2 + t1
print '数组t3为:' , t3