Python100Days-day5逻辑构造

经典例子
1.寻找水仙花数
for num in range(100, 1000):
low = num % 10
mid = num // 10 % 10
high = num // 100
if num == low ** 3 + mid ** 3 + high ** 3:

print(num)
2.正整数反转
num = int(input('num = '))
reversed_num = 0
while num > 0:
reversed_num = reversed_num * 10 + num % 10
num //= 10
print(reversed_num)

3.百钱白鸡问题
公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?
for x in range(0, 20):
for y in range(0, 33):
z = 100 - x - y
if 5 * x + 3 * y + z / 3 == 100:

print(‘公鸡: %d只, 母鸡: %d只, 小鸡: %d只’ % (x, y, z))
暴力搜索法解决此问题
4.CRAPS赌博游戏
该游戏使用两粒骰子,玩家通过摇两粒骰子获得点数进行游戏。简单的规则是:玩家第一次摇骰子如果摇出了7点或11点,玩家胜;玩家第一次如果摇出2点、3点或12点,庄家胜;其他点数玩家继续摇骰子,如果玩家摇出了7点,庄家胜;如果玩家摇出了第一次摇的点数,玩家胜;其他点数,玩家继续要骰子,直到分出胜负
from random import randint

money = 1000
while money > 0:
print(‘你的总资产为:’, money)
needs_go_on = False
while True:
debt = int(input('请下注: '))
if 0 < debt <= money:
break
first = randint(1, 6) + randint(1, 6)
print(‘玩家摇出了%d点’ % first)
if first == 7 or first == 11:
print(‘玩家胜!’)
money += debt
elif first == 2 or first == 3 or first == 12:
print(‘庄家胜!’)
money -= debt
else:
needs_go_on = True
while needs_go_on:
needs_go_on = False
current = randint(1, 6) + randint(1, 6)
input()
print(‘玩家摇出了%d点’ % current)
if current == 7:
print(‘庄家胜’)
money -= debt
elif current == first:
print(‘玩家胜’)
money += debt
else:
needs_go_on = True
print(‘你破产了, 游戏结束!’)
练习
1.生成斐波那契数列的前20个数

"""
Fibonacci sequence first twenty numbers
Powered by RainGiving
"""

a = 1
b = 1
c = 2
print (a)
print (b)
while a+b < 21:
    print(a+b)
    temp = a
    a = b
    b = b + temp

2.找出10000以内的完美数

"""
The perfect number within 10,000
Powered by RainGiving
"""
for number in range(1,10000):
    s = 0
#number = int(input())
    for divisor in range(1,number):
        if number % divisor == 0:
            s = s + divisor
    if s == number:
        print(number)

3.输出100以内所有的素数

"""
Put in a positive integer to see if it's prime
Powered by RainGiving
"""

# number = int(input('Please enter the number:'))
for number in range(2,100):
    is_prime = True
    for x in range(2,number):
        if number % x == 0:
            is_prime = False
            # print('%d is not a prime number' % number)
            break
    if is_prime == True:
        print('%d is a prime number' % number)
发布了10 篇原创文章 · 获赞 0 · 访问量 78

猜你喜欢

转载自blog.csdn.net/RainGiving/article/details/103992769
今日推荐