龙空技术网

Python100天从入门到大师-Day04-构造程序逻辑

子不语SKY 85

前言:

而今姐妹们对“python 回文数判断”可能比较关注,各位老铁们都需要分析一些“python 回文数判断”的相关资讯。那么小编也在网上收集了一些有关“python 回文数判断””的相关资讯,希望各位老铁们能喜欢,看官们一起来学习一下吧!

构造程序逻辑

分支和循环结构会帮助我们将程序中逻辑建立起来,将来我们的程序无论简单复杂,都是由顺序结构、分支结构、循环结构构成的。有了这些基本的能力才能够通过计算机程序去解决各种各样的现实问题。所以,开始做练习吧!

复习

在Python中,要构造分支结构可以使用if、elif和else关键字。

在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环如果明确的知道循环执行的次数或者要对一个容器进行迭代,那么我们推荐使用for-in循环

练习

(1). 寻找水仙花数

"""找出100~999之间的所有水仙花数水仙花数是各位立方和等于这个数本身的数如: 153 = 1**3 + 5**3 + 3**3"""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). 寻找完美数

"""找出1~9999之间的所有完美数完美数是除自身外其他所有因子的和正好等于这个数本身的数例如: 6 = 1 + 2 + 3, 28 = 1 + 2 + 4 + 7 + 14"""import mathfor num in range(1, 10000):    result = 0    for factor in range(1, int(math.sqrt(num)) + 1):        if num % factor == 0:            result += factor            if factor > 1 and num // factor != factor:                result += num // factor    if result == num:        print(num)

(3). 百钱百鸡

"""求解《百钱百鸡》问题1只公鸡5元 1只母鸡3元 3只小鸡1元 用100元买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). 生成斐波那契数列

"""输出斐波那契数列的前20个数1 1 2 3 5 8 13 21 ..."""a = 0b = 1for _ in range(20):    a, b = b, a + b    print(a, end=' ')

(5). Craps赌博游戏

"""Craps赌博游戏玩家摇两颗色子 如果第一次摇出7点或11点 玩家胜如果摇出2点 3点 12点 庄家胜 其他情况游戏继续玩家再次要色子 如果摇出7点 庄家胜如果摇出第一次摇的点数 玩家胜否则游戏继续 玩家继续摇色子玩家进入游戏时有1000元的赌注 全部输光游戏结束"""from random import randintmoney = 1000while 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:        current = randint(1, 6) + randint(1, 6)        print('玩家摇出了%d点' % current)        if current == 7:            print('庄家胜')            money -= debt            needs_go_on = False        elif current == first:            print('玩家胜')            money += debt            needs_go_on = Falseprint('你破产了, 游戏结束!')

(6). 判断是否是回文数

"""判断输入的正整数是不是回文数回文数是指将一个正整数从左往右排列和从右往左排列值一样的数"""num = int(input('请输入一个正整数: '))temp = numnum2 = 0while temp > 0:    num2 *= 10    num2 += temp % 10    temp //= 10if num == num2:    print('%d是回文数' % num)else:    print('%d不是回文数' % num)

本文基于 github开源项目(作者:骆昊)

本人以此项目入门Python,此系列文章谨以记录学习历程及同有兴趣的朋友分享交流

本人在该项目基础上新建项目

标签: #python 回文数判断