100days python练习 5-DAY

水仙花数:

for x in range(100,1000):
'''
取出三位数的各个位置,求幂后求和后判定是否与原数相等
''' g
= int(x % 10) s = int((x / 10) % 10) b = int((x / 100) % 10) sum = g*g*g + s*s*s + b*b*b if x == sum: print('%d ' %(x), end='')

 



完美数:
'''
取得各个约数和,减去自身,然后和自身相等。改进:sum == x*2
'''
print
('完全数1-10000: ') sum = 0; for x in range(1, 10000): for i in range(x, 0, -1): if x % i == 0: sum += i
sum
= sum - x if sum == x: print('%d' %x) sum = 0

 



白鸡百钱:
'''
三个小鸡值一钱,因此最多33钱的小鸡。然后假设母鸡100只,进行遍历即可。按照100钱规则,母鸡最多为100/3 = 33只。代码处没有修改,直接采用100
'''
for
i in range(0, 33): for j in range(0, 100): if (i *3 + j <= 100) and (i + j*3 + 5*(100 - 3 * i - j) == 100): print('公鸡:%d 母鸡%d 小鸡%d ' %(100 - 3 * i - j, j, i*3))

 



斐波那契数列
'''
加入了每行输入10个数调整显示结果。
'''
a = 1 b = 1 num = int(input('输出多少个斐波那契数列:')) for i in range(num): if i > 0 and i % 10 == 0: print() print('%d ' % (a), end=' ') a, b = b, a+b

 



craps游戏
'''
查询第一次结果,没有结束游戏则进入循环,将后续随机结果与第一次结果进行比较。
'''

from
random import randint i = randint(1, 6) j = randint(1, 6) print('第一次掷骰子:%d, %d, %d' % (i, j, i + j)) if i + j == 7 or i + j == 11: print('%d, %d, %d, 玩家胜' % (i, j, i + j)) elif i + j <= 3 or i + j == 12: print('%d, %d, %d, 庄家胜' % (i, j, i + j)) else: while True: a = randint(1, 6) b = randint(1, 6) print('%d, %d, %d' % (a, b, a + b), end = ' ') if a + b == i + j: print() print('%d, %d, %d 与第一次和相同 玩家胜' % (a, b, i + j)) break if a + b == 7: print() print('%d, %d, %d 7出现 庄家胜' % (a, b, a + b)) break

 




 

posted on 2019-06-26 16:30  NJZY-Y  阅读(230)  评论(0编辑  收藏  举报

导航