码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习05_构造程序逻辑

时间:2021-01-26 12:46:08      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:游戏   结束   引入   开始   bre   sum   输入   ast   sequence   

复习

对之前的知识做个简单的复习。已经学习了输入,输出,变量,顺序结构,分支结构,循环结构。这些内容已经足够用来构建程序中的逻辑。通过一些练习来锻炼下自己的能力。

例子

寻找水仙花数

说明:水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数,它是一个3位数,该数字每个位上数字的立方之和正好等于它本身,例如:\(1^3 + 5^3+ 3^3=153\)

"""
说明:水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数,它是一个3位数,
该数字每个位上数字的立方之和正好等于它本身,例如:1^3 + 5^3+ 3^3=153。
"""
for i in range(100, 1000):
    a = i % 10
    b = i//10 % 10
    c = i//100
    if a**3+b**3+c**3 == i:
        print(i)

技术图片

百钱百鸡问题

说明:百钱百鸡是我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?翻译成现代文是:公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?

"""
说明:百钱百鸡是我国古代数学家张丘建在《算经》一书中提出的数学问题:
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
翻译成现代文是:公鸡5元一只,母鸡3元一只,小鸡1元三只,
用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?
"""
for i in range(21):
    for j in range(34):
        k=100-i-j
        if (k%3==0) and (5*i+3*j+ k//3 == 100):
            print(‘公鸡:%d 母鸡:%d 小鸡:%d‘%(i,j,k))

技术图片

CRAPS赌博游戏

说明:CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子,玩家通过摇两粒骰子获得点数进行游戏。简单的规则是:玩家第一次摇骰子如果摇出了7点或11点,玩家胜;玩家第一次如果摇出2点、3点或12点,庄家胜;其他点数玩家继续摇骰子,如果玩家摇出了7点,庄家胜;如果玩家摇出了第一次摇的点数,玩家胜;其他点数,玩家继续要骰子,直到分出胜负。

"""
说明:CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。
该游戏使用两粒骰子,玩家通过摇两粒骰子获得点数进行游戏。
简单的规则是:玩家第一次摇骰子如果摇出了7点或11点,玩家胜;玩家第一次如果摇出2点、3点或12点,庄家胜;
其他点数玩家继续摇骰子,如果玩家摇出了7点,庄家胜;
如果玩家摇出了第一次摇的点数,玩家胜;其他点数,玩家继续要骰子,直到分出胜负。
"""
from random import randint

money = 1000  # 本金
while money > 0:
    print(‘总资产:‘, money)

    while True:
        dz = int(input(‘请下注:‘))
        if dz > 0 and dz <= money:
            break
    first = randint(1, 6) + randint(1, 6)
    print(‘玩家掷出 %d 点‘ % first)
    if(first == 7 or first == 11):
        print(‘玩家胜!‘)
        money += dz
    elif first == 2 or first == 3 or first == 12:
        print(‘庄家胜!‘)
        money -= dz
    else:
        while True:
            cur = randint(1, 6) + randint(1, 6)
            print(‘玩家掷出 %d 点‘ % cur)
            if cur == 7:
                print(‘庄家胜‘)
                money -= dz
                break
            elif cur == first:
                print(‘玩家胜‘)
                money += dz
                break

print(‘破产,游戏结束‘)

技术图片

练习

生成斐波那契数列的前20个数

说明:斐波那契数列(Fibonacci sequence),又称黄金分割数列,是意大利数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)在《计算之书》中提出一个在理想假设条件下兔子成长率的问题而引入的数列,所以这个数列也被戏称为"兔子数列"。斐波那契数列的特点是数列的前两个数都是1,从第三个数开始,每个数都是它前面两个数的和,形如:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...。斐波那契数列在现代物理、准晶体结构、化学等领域都有直接的应用。

"""
斐波那契数列(Fibonacci sequence)
斐波那契数列的特点是数列的前两个数都是1,从第三个数开始,每个数都是它前面两个数的和,
形如:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...。
"""
f1=1
f2=1
print(‘1 1‘,end=‘ ‘)

for i in range(3,21):
    f3=f1+f2
    f2=f1
    f1=f3
    print(f3,end=‘ ‘)

技术图片

找出10000以内的完美数

说明:完美数又称为完全数或完备数,它的所有的真因子(即除了自身以外的因子)的和(即因子函数)恰好等于它本身。例如:6(\(6=1+2+3\))和28(\(28=1+2+4+7+14\))就是完美数。完美数有很多神奇的特性,有兴趣的可以自行了解。

"""
完全数,它的所有的真因子(即除了自身以外的因子)的和(即因子函数)恰好等于它本身。
例如:6($6=1+2+3$)和28($28=1+2+4+7+14$)就是完美数
"""
for i in range(1,10001):
    sum=0
    for j in range(1,i):
        if(i%j==0):
            sum+=j
    if sum==i:
        print(sum,end=‘ ‘)

技术图片

输出100以内所有的素数

说明:素数指的是只能被1和自身整除的正整数(不包括1)

"""
素数指的是只能被1和自身整除的正整数(不包括1)
"""
for i in range(2,101):
    flag=True
    for j in range(2,i-1):
        if(i%j==0):
            flag=False
            break
    if flag:
        print(i,end=‘ ‘)

技术图片

Python学习05_构造程序逻辑

标签:游戏   结束   引入   开始   bre   sum   输入   ast   sequence   

原文地址:https://www.cnblogs.com/wyloving/p/14326310.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!