Python - 获取一个函数,将参数用作string和int

时间:2015-11-16 00:26:03

标签: python

问题

我希望get_scores使用tests并将其用作int的{​​{1}},但能够打印测试。我已经尝试了一段时间摆弄,我无法得到我想要的东西。

我尝试了什么

我的问题是我希望x > 0方法打印“测试加权的百分比”。测试被分配给一个int,所以它不能打印任何东西,除非我这样做打印一个我不希望它做的int:

get_scores

我尝试了几个不同的东西,例如:

int(input("What percentage are" + str(x) + "weighted?"

这使得get_initial_input function ( like this: testsp = get_scores("tests") ) 无法处理,因为x > 0是一个字符串。我也尝试过:

x

...看看它是否像将其更改回int一样简单(不起作用)。

代码

int(x) > 0 

有没有得到我想要的东西?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

你可以让get_scores取两个参数:一个是给出作业类型的字符串,因此要打印什么,另一个是这样的作业数量:

def get_scores(x, kind):
    if x > 0:
        xp = int(input("What percentage are "+ kind + " weighted?"))
        return xp

您可以称之为:

testsp = get_scores(tests, 'tests)

但是在没有if的情况下编写函数可能更有意义,并在之前检查

答案 1 :(得分:0)

我可能有点困惑,但听起来你正在尝试使用变量tests来同时表示整数值和字符串。您可以将测试转换为字符串,然后使用字符串索引来获得所需内容:

tests = ["tests"]

现在,您可以使用以下方法将第二个值放入列表中:

tests.append(get_initial_input(tests))

现在,当您想要打印字符串时,只需使用print tests[0],当您想要打印测试数量时,请使用print tests[1]