1.随机生成双色球程序。
import random
list_red=[x for x in range(1,34)] #1-33的红色球系列
res=random.sample(list_red,6) #随机选取6个红球
res.sort() #对选取的6个红球进行排序
res.append(random.randint(1,16)) #随机选取一个蓝球
print(res)
运行结果:
2.暂停一秒输出,并格式化当前时间。
import time
print( time.strftime("%Y-%m-%d %H:%M:%S"),time.localtime())
time.sleep(1)
print( time.strftime("%Y-%m-%d %H:%M:%S"),time.localtime())
运行结果:
3.输入三个整数x,y,z,请把这三个数由小到大输出。
l=[]
for i in range(3):
x=int(input('integer:'))
l.append(x)
l.sort()
print(l)
运行结果:
4.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
tour=[]
height=[]
hei=100.0 #起始高度
tim=10 #次数
for i in range(1,tim+1):
if i==1:
tour.append(hei)
else:
tour.append(2*hei)
hei /= 2
height.append(hei)
print('总高度:tour={0}'.format(sum(tour)))
print('第10次反弹的高度:height={0}'.format(height[-1]))
运行结果:
5.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
peach_sum = 1
for i in range(9):
peach_sum = (peach_sum + 1) * 2
print("第一天共摘了 %d 个桃子" % peach_sum)
运行结果:
6.斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。以递归的方法来定义,输出前20项。
def fib(n):
list = [0,1]
a,b = 0,1
for i in range(2,n+1):
a,b=b,a+b
list.append(b)
return list
while True:
try:
x = int(input('请输入斐波那契数列的长度:'))
if x <= 0:
print('长度输入不合法!')
continue
else:
sum = 0
list = fib(x) # 调用前面写的fib函数
print('前{}项的斐波那契数列是:'.format(x))
for j in range(0,x):
print(list[j],end=' ')
sum = sum + list[j] # 求和
print ('\n')
print('前{}项的斐波那契数列之和是:\n{}'.format(x,sum))
break
except ValueError:
print ('长度输入不合法!')
continue
运行结果:
7.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
a = int(input("请输入数字:"))
b = int(input("请输入相加个数:"))
aa, aa_sum = 0, 0
for i in range(1, b+1):
aa += a * 10**(i-1)
aa_sum += aa
print(aa_sum)
运行结果:
8.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
count = 0
for i in range(100, 1000):
f = i
# 提取百位数
a = int(f / 100)
# 提取十位数
f -= a*100
b = int(f / 10)
# 提取个位数
c = f - b*10
# 判断是否是水仙花数
if a**3 + b**3 + c**3 == i:
print(i)
count += 1
print("共有 %d 个水仙花数" % count)
运行结果:
9.输出 9*9 乘法口诀表。
for i in range(1, 10):
for j in range(1, i + 1):
print("%2d*%d=%d" % (i, j, i * j), end="\t")
print()
运行结果:
10.输入某年某月某日,判断这一天是这一年的第几天?
year = int(input("请输入年:"))
month = int(input("请输入月:"))
day = int(input("请输入日:"))
Day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if (year % 4 == 0 and year % 100 != 0)or year % 400 == 0:
Day_month[1] = 29
print("这一天是这一年中的第{0}天".format(sum(Day_month[0:month-1]) + day))
运行结果:
11.打印出如下图案(菱形):
def fun():
f = -1
j = 4
for i in range(4):
j -=1
f += 2
print(j*' ' + f * '*')
for i in range(3):
j +=1
f -= 2
print(j*' ' + f * '*')
fun()
运行结果:
12.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前30项之和。
a=2.0
b=1.0
s=0
for n in range(1,31):
s += a/b
b,a=a,a+b
print(s)
运行结果: