notas de estudo Python100Days --- lógica do programa de construção Dia5

Depois de completar alguns capítulos antes, eu acho que é necessário aqui para levá-lo para fazer alguns exercícios para consolidar o conhecimento aprendido antes, embora até agora ficamos a saber o conteúdo de ponta apenas do Python do iceberg, mas estes elementos foram o suficiente para nós para construir um programa na lógica. Para os iniciantes linguagem de programação, depois de aprender os elementos de linguagem do núcleo do Python (variáveis, tipos, operadores, expressões, estrutura ramificada, estrutura cíclica, etc.), você deve fazer uma coisa é tentar usar o que aprenderam resolver problemas do mundo real, em outras palavras treinamento algoritmo (método para resolver o problema e passos) traduzidos em código Python sua própria capacidade de usar linguagem natural humana, e esta questão deve, a fim de alcançar através de muita prática.

Estamos todos neste capítulo compilou alguns exemplos clássicos e exercícios, Espero que estes exemplos, no conhecimento um lado do Python antes de ajudar a consolidar o que aprenderam sobre a outra mão para ajudá-lo a aprender a construir um programa e como aplicar alguns algoritmos lógicos simples resolver problemas do mundo real.

O exemplo clássico
para encontrar alguns narcisos.

Descrição: número narcisista é também conhecido como super variáveis ​​não totalmente digitais, o número narcisista, uma vez que uma potência de, número de Armstrong, que é um número de 3 dígitos, cada dígito da soma digitais exatamente é igual ao próprio cubo, por exemplo, : 1 3 + 5 3 + 3 3 = 153 1 ^ 3 ^ 5 + 3 + 3 ^ 3 = 153 .

"""
找出所有水仙花数

Version: 0.1
Author: 骆昊
"""

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)

No código acima, nós divisível por operação de módulo, respectivamente, e tinha um pouco para encontrar um de três dígitos, dez e cem essas dicas no desenvolvimento real ainda é comumente usado. De um modo semelhante, também pode atingir um número inteiro positivo inversa, por exemplo: 54321-12345 em, como mostrado no código abaixo.

"""
正整数的反转

Version: 0.1
Author: 骆昊
"""

num = int(input('num = '))
reversed_num = 0
while num > 0:
    reversed_num = reversed_num * 10 + num % 10
    num //= 10
print(reversed_num)

Cem dinheiro problema de uma centena de frango.

Descrição: cem dinheiro cem galinhas chinês antigo matemático Zhang Qiu Jian em problema matemático "foi considerado" um livro feito de: um frango Weng vale cinco galinhas mãe um valioso três filhotes uma valiosa três. Cem para comprar uma centena de frango, frango e pediu Weng, frango mãe, pintos cada geometria? A cultura moderna é traduzida em: 5 yuan um galo, uma galinha yuan 3, um yuan três filhotes, cem dólares para comprar 100 galinhas, pergunte galo, galinhas, pintinhos tem quantos?

"""
《百钱百鸡》问题

Version: 0.1
Author: 骆昊
"""

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))

O método acima é chamado de método de força bruta, também chamado de violência um método de pesquisa, este método através de todos os possíveis candidatos listados, um por um solução alternativa e verificar a descrição de cada candidato preenche o problema, finalmente, obter solução do problema. Esta abordagem parece estranho, mas o poder de computação para computadores muito potentes, é geralmente um mesmo viável é uma boa escolha, mas se não houver solução do problema, este método será capaz de encontrá-lo.

EXCREMENTOS jogos de casino.
Descrição: também conhecido como craps Craps, Las Vegas é um jogo muito popular jogo de mesa um. O jogo usa dois dados, jogadores ganham pontos por agitando dois dados. As regras são simples: os jogadores rolar os dados se o primeiro lançamento fora do 07:00 ou 11:00, o jogador ganha; se os jogadores sacudir primeiro 02:00, 03:00 ou 00:00, Zhuang Jiasheng; outros pontos que os jogadores continuam a rolar os dados, Se o jogador sacudir a 07:00, Zhuang Jiasheng; se os jogadores sacudir a primeira sacudida de pontos, o jogador ganha; outros pontos, os jogadores continuam a morrer até que um vencedor.

"""
Craps赌博游戏
我们设定玩家开始游戏时有1000元的赌注
游戏结束的条件是玩家输光所有的赌注

Version: 0.1
Author: 骆昊
"""
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)
        print('玩家摇出了%d点' % current)
        if current == 7:
            print('庄家胜')
            money -= debt
        elif current == first:
            print('玩家胜')
            money += debt
        else:
            needs_go_on = True
print('你破产了, 游戏结束!')
Publicado 124 artigos originais · Louvor obteve 141 · vista 160 000 +

Acho que você gosta

Origin blog.csdn.net/weixin_36838630/article/details/105205879
Recomendado
Clasificación