Ir ao conteúdo
  • Cadastre-se

GrowingSky

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

  1. @camilla zuba pode ser tão simples como isso: num = input() print(num[len(num)-2]) Ajustando para ficar mais fácil de compreender: num = input('Digite um número: ') if len(num > 1): print(f'O digito das desenas é {num[len(num)-2]}') else: print(f'Não há digito das desenas') Basicamente eu li o input como uma string e retirei o penúltimo dígito. Aqui está um terceiro código caso algum espertinho tente burlar o programa escrevendo um numero flutuante: from math import trunc num = trunc(float(input('Digite um número: '))) num = str(num) if len(num > 1): print(f'O digito das desenas é {num[len(num)-1]}') else: print(f'Não há digito das desenas') aqui eu usei a função trunc() da biblioteca math. Sua função é remover o ponto flutuante e deixar apenas a parte inteira. Exemplo: num = 1.4245 trunc(num) saída: 1 depois eu converto o input para uma string e faço o processo anterior.
  2. @Elionai Pereira Se seu código está nessa mesma ordem que você colocou, é porque a função input() deve ser atribuída a variável esc antes do inicio do loop while. Espero ter ajudado!
  3. Cara, primeiramente, muito obrigado, estava procurando um desafio que me prendesse faz tempo. Em segundo lugar, eu fiz este script bem básico, porém, muito organizado, se quiser eu te explico como funciona, só me add no discord. Se quiser eu posso fazer uma interface grafica (abrir em uma janela), e até mesmo fazer um executável. Discord: Sky#5500 Código: from math import trunc cor_linhas = '\033[32m' cor_cedulas = '\033[33m' cor_moedas = '\033[35m' def make_menu(title='MENU', length=20, char='-'): print('\033[32m'+char*length) print(title.center(length)) print('\033[32m'+char*length) def make_line(length=20, char='-'): print('\033[32m'+char*length) while True: make_line() gasto = float(input('Valor da compra: ')) make_line() pago = float(input('Valor pago: ')) troco = float('{:.2f}'.format(pago - gasto)) if troco >= 1: real = trunc(troco) else: real = 0 centavos = float('{:.2f}'.format(troco - real)) cents = int((centavos*100)//5) cents50 = 0 cents25 = 0 cents10 = 0 cents5 = 0 cedula100 = 0 cedula50 = 0 cedula20 = 0 cedula10 = 0 cedula5 = 0 resto = float(((centavos*100)%5)/100) while real >= 5: if real >= 100: cedula100 += 1 real -= 100 elif real >= 50: cedula50 += 1 real -= 50 elif real >= 20: cedula20 += 1 real -= 20 elif real >= 10: cedula10 += 1 real -= 10 elif real >= 5: cedula5 += 1 real -= 5 while cents >= 1: if cents >= 10: cents50 += 1 cents -= 10 elif cents >= 5: cents25 += 1 cents -= 5 elif cents >= 2: cents10 += 1 cents -= 2 elif cents >= 1: cents5 += 1 cents -= 1 make_menu('Troco: R${:.2f}'.format(troco)) if troco > 0 and troco < 0.5: if resto == 1: print(f'Sobra {resto} centavo') else: print(f'Sobra {resto} centavos') if cedula100 > 0 or cedula50 > 0 or cedula20 > 0 or cedula10 > 0 or cedula5 > 0: make_menu(f'{cor_cedulas}Cedulas') if cedula100 > 0: print(f'{cor_cedulas}100 reais: {cedula100}') if cedula50 > 0: print(f'{cor_cedulas}50 reais: {cedula50}') if cedula20 > 0: print(f'{cor_cedulas}20 reais: {cedula20}') if cedula10 > 0: print(f'{cor_cedulas}10 reais: {cedula10}') if cedula5 > 0: print(f'{cor_cedulas}5 reais: {cedula5}') if real > 0 or cents50 > 0 or cents25 > 0 or cents10 > 0 or cents5 > 0: make_menu(f'{cor_moedas}Moedas') if real > 0: print(f'{cor_moedas}1 real: {real}') if cents50 > 0: print(f'{cor_moedas}50 centavos: {cents50}') if cents25 > 0: print(f'{cor_moedas}25 centavos: {cents25}') if cents10 > 0: print(f'{cor_moedas}10 centavos: {cents10}') if cents5 > 0: print(f'{cor_moedas}5 centavos: {cents5}') @Joao otavioooo Eu autorizo o uso desse script.
  4. Eu tentei criar um programa que monta um sudoku valido, para quem não sabe (o que eu acho meio difícil), mais o sudoku consiste em um quadrado de 9x9 onde deve ser preenchido com números de 1 à 9, sendo que em uma mesma linha ou coluna não pode ter mais que um numero igual. Caso minha explicação não ficou clara, pesquise as regras no google =D. Eu sou novo no mundo da programação então meus códigos ficam meio sujos e mal otimizados então peço desculpas. Aqui está o código: from random import randint lines = [] for line in range(0,9): line = [0,0,0,0,0,0,0,0,0] lines.append(line) count = 0 for line in lines: #formação de cada linha count = 0 # for num in line: #formação de cada numero switch = True # column = [] # for i in lines: #formação da variavel coluna para verificação mais arde column.append(i[count]) # while switch: #loop para verificação do numero num = randint(1,9) # if num not in line and num not in column: # line.insert(count, num) #posicionamento do numero na linha for e,num in enumerate(line): #a procura por um 0 na linha if num == 0: # line.pop(e) #remoção do primeiro 0 encontrado para manter 9 numeros por linha break # switch = False # count += 1 # print(line) # Eu tentei colocar um print(linha) no fim do loop while, e descobri que o código não consegue sair do loop while, não entendi porque. Depois tentei colocar esse mesmo print logo depois do while, fora da identação, quando executava, as vezes ele printava 3 linhas, as vezes 5, 1. Depois tentei debugar ele, porém chega em um ponto que simplesmente travava meu visual studio. Eu realmente não entendo o que tem de errado com meu código, quem puder me ajuda, talvez otimizar ele, eu agradeceria muito.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!