day005:总结和练习
1、寻找水仙花数
'''
title:寻找水仙花数
date:20190515
author:老杨
'''
from math import floor
for n in range(100,1000):
x = floor(n / 100)
y = floor(n / 10) - (x * 10)
z = n - (x * 100) - (y * 10)
if x** 3 + y ** 3 + z** 3 == n:
print('水仙花数是:%d' % n,end='\n')
水仙花数是:153
水仙花数是:370
水仙花数是:371
水仙花数是:407
2、寻找”完美数“
'''
title:寻找完美数
date:20190515
author:老杨
'''
print('寻找正整数范围内的\"完美数\"')
n = int(input('请输入一个正整数:'))
for x in range(2, n):
counter = 0
for y in range(1, x):
if x % y == 0:
counter += y
if counter == x:
print('完美数是%d' % x, end='\n')
print('结束')
寻找正整数范围内的"完美数"
请输入一个正整数:12121
完美数是6
完美数是28
完美数是496
完美数是8128
结束
3、"百鸡百钱"问题
'''
title:百鸡百钱问题
date:20190515
author:老杨
'''
for x in range(0,20):
for y in range(0,33):
if 7*x + 4*y == 100:
z = 100 - x - y
print('供给数量是%d,母鸡数量是%d,小鸡数量是%d' % (x, y, z), end='\n')
print('结束')
供给数量是0,母鸡数量是25,小鸡数量是75
供给数量是4,母鸡数量是18,小鸡数量是78
供给数量是8,母鸡数量是11,小鸡数量是81
供给数量是12,母鸡数量是4,小鸡数量是84
结束
4、生成“斐波那契数列”
'''
title:生成“斐波那契数列”
date:20190515
author:老杨
'''
n = int(input('请输入一个正整数:'))
i = 1
j = 1
for x in range(2,n):
k = i + j
i = j
j = k
print('斐波那契数列数列的第%d项为%d' % (n, k))
请输入一个正整数:13
斐波那契数列数列的第13项为233
5、Craps赌博游戏
Craps赌博游戏 - 两个色子
第一次摇色子
如果摇出了7点或11点 - 玩家胜
如果摇出了2点、3点或12点 - 庄家胜
如果摇出其他点数 - 游戏继续
继续
如果摇出了7点 - 庄家胜
如果摇出了第一次摇的点数 - 玩家胜
如果摇出了其他点数 - 游戏继续
from random import randint
# =====掷色子
def roll_dice(*, num=1): # "*," -->命名关键字参数,传参是需给出参数名
total = 0
for _ in range(num):
total += randint(1, 6)
return total
def main():
money = 1000
while money > 0:
while True:
print('total assets %d' % money)
debt = int(input('please bet:'))
if 0 < debt <= money:
break
first = roll_dice(num=2)
print('玩家摇出了%d点' % first)
game_over = True
if first == 7 or first == 11:
money += debt
print('player win!')
elif first == 2 or first == 3 or first == 11:
money -= debt
print('banker win!')
else:
game_over = False
while not game_over:
current = roll_dice(num=2)
print('player roll %d point' % current)
if current == 7:
money -= debt
print('banker win!')
game_over = True
elif current == first:
money += debt
print('player win!')
game_over = True
print(money)
print('you\'re broke game over!')
if __name__ == '__main__':
main()
total assets 1000
please bet:200
玩家摇出了8点
player roll 8 point
player win!
1200
total assets 1200
please bet:300
玩家摇出了8点
player roll 11 point
player roll 5 point
player roll 11 point
player roll 9 point
player roll 8 point
player win!
1500
total assets 1500
please bet:500
玩家摇出了7点
player win!
2000
total assets 2000
please bet:600
玩家摇出了6点
player roll 10 point
player roll 7 point
banker win!
1400
total assets 1400
please bet:600
玩家摇出了4点
player roll 2 point
player roll 10 point
player roll 11 point
player roll 6 point
player roll 4 point
player win!
2000
total assets 2000
please bet:200
玩家摇出了9点
player roll 7 point
banker win!
1800
total assets 1800
please bet:1500
玩家摇出了9点
player roll 4 point
player roll 6 point
player roll 6 point
player roll 7 point
banker win!
300
total assets 300
please bet:300
玩家摇出了3点
banker win!
0
you're broke game over!
END
2019-05-16 10:33:24
2019-05-16 10:33:24