磅到千克和克转换python函数

时间:2015-10-19 21:25:57

标签: python

我需要创建一个名为poundsToMetric的python函数,它将以磅为单位的权重转换为千克和克。

例如,而不是打印2.2公斤,正确的答案是2公斤和200克

为您的工作提供以下转换:

1磅= 2.2千克1千克= 1000克

你的程序应该提示用户输入磅数并以千克和克为单位输出结果。

def new
    @tournament = Tournament.new
    render action: 'new'
end

def create
    @tournament = Tournament.new(tournament_params)
    if @tournament.save
        flash[:info] = "Tournament created successfully!"
        redirect_to root_url
    else
        render action: 'new'
    end
end

我知道这不是正确的但是我想弄清楚我做错了什么我的意思是我知道它可能都错了但我不知道这个我猜我只需要一些关于我可以添加的内容的反馈,或者如果我有正确的信息,我将使用哪种格式来获得正确的语法。

3 个答案:

答案 0 :(得分:1)

只是为了修复我提供的语法(正如其他人提到的缩进有点偏,所以我也解决了这个问题):

def poundsToMetricFunction(kilograms, grams):
    #You were missing a bracket on the following line
    pounds = float(input("enter the amount of pounds:  "))
    kilograms = pounds * 2.2
    grams = kilograms * 1000

    print('The amount of pounds you entered is ', pounds,
          ' This is ', kilograms, ' kilograms ', 'and', grams,
          'grams' )

如果仍然没有按照您的意愿行事,您可能需要提供有关您想要的更多信息。例如,您给函数kilograms, grams的参数目前没有做任何事情。

答案 1 :(得分:0)

您的功能存在一些问题:

  1. 当然,您仍然需要裁剪公斤和克数,因此数字不会“重叠”。您可以将一个转为int,从而丢弃十进制数字,并取其他模数1000以丢弃超过一公斤的所有数据。
  2. 您的语法错误似乎来自)行中缺少的input
  3. 您从磅到公斤的转换是错误的,它应该是/ 2.2,而不是* 2.2
  4. 那些功能参数毫无意义;你计算函数内部的那些。
  5. 相反,你应该将磅传递给函数并返回千克和克数,并在转换函数之外进行输入和打印。
  6. 这样的事情:

    def poundsToMetric(pounds):
        kilograms = pounds / 2.2
        grams = kilograms * 1000
        return int(kilograms), grams % 1000
    
    pounds = float(input("How many Pounds? "))
    kg, g = poundsToMetric(pounds)
    print('The amount of pounds you entered is {}. '\
          'This is {} kilograms and {} grams.'.format(pounds, kg, g))
    

答案 2 :(得分:-1)

你的缩进是关闭的,函数内的所有内容都应该缩进一次,而不是def。这是因为在该调用之后缩进的所有内容都是函数的一部分。循环的规则相同。

其次,不要浮动你的输入函数,你可以浮动变量,即:

       kilograms = float(pounds) * 2.2

第三,你需要进行函数调用。在你给它两个参数,千克和克之前,函数实际上不会打印任何东西:

poundsToMetricFunction(20,30)