# 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("钱不够了")