python实现小程序

1、杨辉三角形Python实现:        


          1
         / \
        1   1
       / \ / \
      1   2   1
     / \ / \ / \
    1   3   3   1
   / \ / \ / \ / \
  1   4   6   4   1
 / \ / \ / \ / \ / \
1   5   10  10  5   1


#杨辉三角形
def triangel(n):
    L=[1]#定义一个list[1]
    while True:
        yield L#打印出该list
        L = [L[x] + L[x + 1] for x in range(len(L) - 1)]#计算下一行中间的值(除去两边的1)
        L.insert(0, 1)#在开头插入1,L.insert(index, object) -- 在下标处index插入object
        L.append(1)#在结尾添加1
        if len(L) > 10:#仅输出10行
            break
#生成一个generator对象,然后通过for循环迭代输出每一行
a=triangel(10)
for i in a:
    print(i)

2、找出列表中最大最小值

print(panduan([]))
def pan(L):
    if L!=[]:
        #MAX=L[0],MIN=L[0]#max=L[0],min=L[0]显示错误,int不能迭代
        MAX = L[0]
        MIN=L[0]
    for i in range(len(L)):
        if L[i]>MAX:
            MAX=L[i]
        if L[i] < MIN:
            MIN = L[i]
    return MAX,MIN
print(pan([1,2,3,4,5,6]))

3、汉诺塔的移动,表示3个柱子A、B、C中第1个柱子A的盘子数量,然后打印出把所有盘子从A借助B移动到C的方法
#根据圆盘的数量确定柱子的排放顺序:若n为偶数,按顺时针方向依次摆放 A B C;
#若n为奇数,按顺时针方向依次摆放 A C B。
#⑴按顺时针方向把圆盘1从现在的柱子移动到下一根柱子,即当n为偶数时,若圆盘1在柱子A,则把它移动到B;若圆盘1在柱子B,则把它移动到C;若圆盘1在柱子C,则把它移动到A。
#⑵接着,把另外两根柱子上可以移动的圆盘移动到新的柱子上。即把非空柱子上的圆盘移动到空柱子上,当两根柱子都非空时,移动较小的圆盘。这一步没有明确规定移动哪个圆盘,你可能以为会有多种可能性,其实不然,可实施的行动是唯一的。
#⑶反复进行⑴⑵操作,最后就能按规定完成汉诺塔的移动。
#所以结果非常简单,就是按照移动规则向一个方向移动金片:
#如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C
def move(n,a,b,c):
    if n==1:
        print(a,'->',c)
    else:
        move(n-1,c,a,b)
        print(a,'->',c)
        move(n - 1, b, a, c)
print(move(2, 'a', 'b', 'c'))
print(move(3,'a','b','c'))
print(move(4,'a','b','c'))
print(move(5,'a','b','c'))

4、# 九九乘法口诀
i=1
while i<=9:
    j = 1
    while j<=i:
        print("%d*%d=%d   "%(j,i,j*i),end="")
        j+=1
    print('第%d行'%i)#这行代码就是要在每一行输出完毕之后进行换行
    i+=1

5、石头剪刀布
# 石头剪刀布游戏
import random#随机数工具包
player=int(input("请输入您的拳头: 石头(1),剪刀(2),布(3)"))

print("输出的拳头为:",player)
computer=random.randint(1,3)#通过ipython查找random中有什么函数,随机数1-3之间的整数
print("玩家选择的是%d,电脑选择的是 %d"%(player,computer))
if ((player==1 and computer==2)
        or (player==2 and computer==3)
        or (player==3 and computer==1)):#调整代码比较好看
    print("电脑弱爆了")
elif (player == 1 and computer == 1) or (player == 2 and computer == 2) or (player == 3 and computer == 3):
    print("平局")
else:
    print("电脑获胜了")




  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值