我希望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
有没有得到我想要的东西?
提前感谢您的帮助。
答案 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]
。