我有一个家庭作业问题,我认为我已经“正确”回答了,但是评分引擎告诉我有无效的论点。实际问题如下。
在一行上,用空格隔开,打印前两个参数的总和,第一个和第三个参数的乘积,第一个参数对第二个参数取模,第三个参数的整数商乘第一个。 ▪将三个参数加1。 ▪在新行上,打印第一个参数右移3,第二个参数除以2(不是整数除法),以及第一个和第二个参数的按位或。 (全部用空格分隔。) ▪在最后一行,打印第一个参数的总和(添加后)和参数总数,不包括程序名称。
我已经附上了我知道可以在我的个人计算机上工作的代码,并输出了到目前为止我所写内容的部分答案,但是我的学校评分引擎不接受。
import JavaScriptCore
import Foundation
let jsVM = JSVirtualMachine()
let jsContext = JSContext(virtualMachine: jsVM!)
@objc public protocol testJSExports : JSExport {
var number: NSNumber? {get set}
}
@objc(testClass) class testClass : NSObject, testJSExports {
public dynamic var number: NSNumber?
}
jsContext?.evaluateScript("""
function modifyNumber(testInstance) {
testInstance.number = -2
}
""")
let jsFunction = jsContext?.objectForKeyedSubscript("modifyNumber")
var testInstance = testClass()
testInstance.number = 11
jsFunction?.call(withArguments: [testInstance as Any])
print(testInstance.number) // would expect to print -2, actually prints 11
如果输入为
f1 = 1
f2 = 2
f3 = float(3)
print (f1 + f2, f1 * f3, f1 % f2, f3 // f1)
f1 = f1+1
f2 = f2+1
f3 = f3+1
print (f2)
print (f1 >> 3, f2 / 2, f1 | f2)
print (f1, 6)
输出应为
f1-3 is 1 2 3
其他示例
输入
3 3.0 1 3.0
0 1.5 3
5
输出
4 9 1.2
输入
13 4.8 4 0.0
0 5.0 15
9
输出
-3 1 7.1