python3 算法练习 第一天,剪刀石头布+埃拉托斯特尼筛法

#剪刀石头布的小游戏
#玩家输入1代表剪刀2代表石头3代表布,i用随机数生成1~3之前的整数,
#玩家只能输入1~3之间的整数,超出会报错,编写函数显示电脑出的什么
    import random
    i=random.randint(1,3)
    user=int(input('请出拳(1剪刀2石头3布)'))
    assert 1<=user<=3,'输入的值有误,请输入正确的数值' 
    def cs1(l):
        if i == 1:
            return '剪刀'
        elif i==2:
            return '石头'
        else:
            return '布'
    l=i
    if i==user:
        print('平手')
        print('电脑出的是:',cs1(l),sep='')
    elif (user==1 and i==3) or (user==2 and i==1) or (user==3 and i==2):
        print('我赢了')
        print('电脑出的是:',cs1(l),sep='')
    else:
        print('电脑赢')
        print('电脑出的是:',cs1(l),sep='')
      #埃拉托斯特尼筛法
      #埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由
      #希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。
      #要得到自然数n以内的全部素数,必须把不大于根号n的所有素数
      #的倍数剔除,剩下的就是素数。
      #先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;不断重复下去......。
    l=list(range(2,100))
    while len(l)>0:
        a=l.pop(0)
        print(a,end=' ')
        for i in l:
            if i%a==0:
                l.remove(i)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值