python 寻找水仙花、寻找“完美数”、 "百钱百鸡问题"、斐波那契数列、craps掷骰子游戏

# coding-utf-8
# 寻找水仙花数
import math

for num in range(100, 1000):
    num = str(num)
    a = int(num[0])
    b = int(num[1])
    c = int(num[2])
    e = pow(a, 3)
    f = pow(b, 3)
    g = pow(c, 3)
    if e+f+g == int(num):
        print('这个数是:%d' % (int(num)))

# 寻找“完美数”
list = []
sum = 0
for num in range(1,1000):
    for i in range(1,num):
        if num % i == 0:
            list.append(i)
    #print(list)
    for n in list:
        sum = n + sum
    #print(sum,num)
    if sum == num:
            print('这个数是完美数:%d' % num)
    list = []
    sum = 0

# "百钱百鸡问题"
for i in range(101):
    for j in range(101):
        for n in range(101):
            if i*5 + 3*j + n/3 ==100 and i + j + n == 100 and n%3 ==0:
                print(i,j,n)

# 斐波那契数列
list = [1,1]
for i in range(10):
    list.append(list[-1] + list[-2])
print(list)


craps掷骰子游戏
掷两个骰子(每个骰子有六面,1~6个点)
计算两个骰子之和
1、如果和为7或者11,玩家赢,庄家输;
2、如果和为2、3或12,玩家输,庄家赢;
3、如果和为4、5、6、8、9或10,则这个值称为“点数” t,重新掷骰子
    a.如果和为“点数” t,则玩家赢,庄家输;
    b.如果和为7,则玩家输,庄家赢;
    c.否则,重新掷骰子
假设有1000,每次下注200,输完则游戏结束。
money = 1000
flag = False
n = 1
while(money > 200):
    print('第%d轮' % n)
    s1 = int(input('扔骰子:'))
    s2 = int(input('扔骰子:'))
    sum = s1 + s2
    if sum == 7 or sum == 11:
        print('玩家胜利')
        money = money + 200
    elif sum == 2 or sum ==3 or sum ==12:
        print('庄家胜利')
        money = money - 200
    else:
        while(money > 0 and flag == False):
            num1 = int(input('还要扔一次:'))
            num2 = int(input('还要扔一次:'))
            if (num1 + num2) == sum:
                print('玩家胜利')
                money = money + 200
                flag = True
            elif num1 + num2 == 7:
                print('庄家胜利')
                money = money - 200
                flag = True
        flag = False
    print('还有%d元' % money)
    n = n + 1
print("钱不够了")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值