Como colocar uma verificação de entrada para uma calculadora em python?

Marc
print("Welcome to the Kinetic Energy and Gravitational Potential Energy Calculator")
print("Which Calculator would you like to access?")

Choice = str(input("Type in KE for Kinetic Energy and GPE for Gravitational Potential Energy:"))

while Choice != "KE" or "GPE":
    print("Error. You have not entered a valid choice. Please type KE or GPE.")
    Choice = str(input("Type in KE for Kinetic Energy and GPE for Gravitational Potential Energy:"))


while Choice == "KE":
    print("You have chosen the Kinetic Energy Calculator.")
    mass = float(input("Type in the mass of the object in kilograms (kg):"))
    velocity = float(input("Type in the velocity of the object in metres per second (m/s):"))
    result = 0.5*mass*(velocity**2)
    print("The KE is:", result, "J(Joules)")
    Choice = str(input("Type in KE for Kinetic Energy and GPE for Gravitational Potential Energy:"))

while Choice == "GPE":
    print("You have chosen the Gravitational Potential Energy Calculator.")
    mass = float(input("Type in the mass of the object in kilograms (kg):"))
    height = float(input("Type in the height at which the object is in metres (m):"))
    result = 9.81*mass*height
    print("The GPE is:", result, "J(Joules)")
    Choice = str(input("Type in KE for Kinetic Energy and GPE for Gravitational Potential Energy:"))

Eu tentei usar "ou" para que a verificação possa incluir 'KE' e 'GPE', mas quando você executa o programa, mesmo se eu inserir KE ou GPE, o primeiro loop while continua! Como posso fazer funcionar?

Gabip

O problema está na sua condição. Uma vez que "GPE"é logicamente True(string não vazia é logicamente True), a condição do loop while é sempre True, não importa qual seja a escolha.

Mudança:

Choice != "KE" or "GPE"

para:

Choice != "KE" and Choice != "GPE"

ou:

Choice not in ["KE","GPE"]

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

como priorizar operações em () para uma calculadora python onde recebo a entrada como uma string?

Como colocar uma entrada em uma diagonal inteira para uma matriz esparsa em Python

Dividindo string de entrada para uma calculadora

Como colocar o valor de uma entrada em uma variável no tkinter

Como faço para colocar o texto em uma linha separada com sistemas de arquivos python?

Como faço para colocar o texto em uma linha separada com sistemas de arquivos python?

Como colocar uma caixa de entrada que tudo o que o usuário colocar irá inserir em uma fórmula?

Como faço para colocar em negrito apenas parte de uma string em uma célula do Excel com python

Como faço para converter uma string de uma entrada em um inteiro? (Python 3.9)

Como colocar automaticamente o valor em uma entrada enquanto oculto depois de clicar em enviar?

Como colocar uma entrada em um mapa?

Como faço para colocar uma borda em torno de uma visualização de texto Android?

como faço para limpar a tela de uma calculadora em php

Como colocar muitos objetos em uma entrada de visualização de rolagem no Android?

Como colocar o foco de uma entrada em um campo de formulário com ngIf

Como fazer uma calculadora em Python 3

Popups no PySimpleGUI para exibir uma lista de objetos e, em seguida, colocar o objeto selecionado em uma caixa de entrada

Como usar um manipulador de conclusão para colocar uma imagem em uma visualização SwiftUI

Como faço para acessar uma determinada entrada de lista em um dicionário em python?

Como colocar o valor de uma entrada em URL usando páginas JSP com Spring

Como escrever uma fórmula de cálculo com porcentagem para construir uma calculadora financeira em python?

Como faço para pegar a citação de entrada de um usuário e embaralhá-la e depois colocar cada letra separada em uma tabela em JavaScript

Como faço para pegar a citação de entrada de um usuário e embaralhá-la e depois colocar cada letra separada em uma tabela em JavaScript

Como colocar uma marca de verificação após a pesquisa

Como faço para colocar um conjunto de letras aleatórias em uma string alinhada em python 3?

como mostrar a mensagem de erro na minha calculadora de peso python quando o usuário der uma entrada errada

Como faço para verificar uma resposta de entrada em python 3

Como faço para colocar a entrada em um df python?

Como limpar e validar a entrada do usuário para passar em uma verificação do Checkmarx