【问题标题】:How do I turn a Minus to a - inside user input?如何将减号转换为 - 内部用户输入?
【发布时间】:2020-02-02 20:14:45
【问题描述】:

我开始学习我的第一门真正的语言,但找不到解决问题的方法:

如果有人输入负 10 而不是 -10,我该如何转换用户输入?

我只想将减号转换为 -

我还添加了我的代码。

def get_temperatur():
    minus = "-"
    plus = "+"
    while True:
        C = input("Input temperature in Celsius: ")
        try:
            C = float(C)
            return C
        except ValueError:
            print("That is not a valid input")

def convert_to_Kelvin(C):
    K = C +273.15
    return K

if __name__ == "__main__":
    C = get_temperatur()
    print("That is " + str(convert_to_Kelvin(C)) + " Kelvin")

def convert_to_Fahrenheit(C):
    L = C * 1.8
    F = L +32
    return F

if __name__ == "__main__":
    F = get_temperatur()
    print("That is " + str(convert_to_Fahrenheit(F)) + " Fahrenheit")

我希望用户输入的减号被转换为 -

【问题讨论】:

  • 你尝试了什么?哪里失败了?你的实际问题是什么?这不是“为我解决问题”页面。
  • 我只是想学习如何编写代码,将用户输入中的特定单词转换为其他内容。
  • 你可以使用Python替换函数到replace text in a string with a different string
  • 您是说您要解决用户输入“-10”而不是“-10”作为温度的情况吗?
  • 谢谢,这正是我正在寻找的 :)

标签: python python-3.x python-2.7 python-requests


【解决方案1】:

添加 - 符号不会使它成为负数,它仍然是一个字符串,你会得到 ValueError。 而是做类似的事情,

if 'minus' in c: c = 0 - float(c.split('minus')[1].strip())

注意:我假设您的字符串在数字之后不会包含任何其他单词。 即它会像“负 10”而不是“负 10 xyz”。

【讨论】:

    【解决方案2】:
    def get_temperatur():
        minus = "-"
        plus = "+"
        while True:
            C = input("Input temperature in Celsius: ")
            try:
                if 'minus ' in C:
                    C = C.replace('minus ', '-')
                C = float(C)
                return C
            except ValueError:
                print("That is not a valid input")
    

    C.replace() 函数接受 2 个值 - 要替换​​的字符串,以及要替换的内容。 if 语句检查字符串中是否有 'minus'(注意空格),如果是,则将其替换为 '-'

    【讨论】:

      【解决方案3】:
      def get_temperatur():
          while True:
              C = input("Input temperature in Celsius: ")
              C.replace("minus ", "-")
              try:
                  C = float(C)
                  return C
              except ValueError:
                  print("That is not a valid input")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-04
        • 2013-10-15
        • 2019-09-20
        相关资源
        最近更新 更多