已要求我使用If / Else语句编写代码。该代码应要求用户输入一个数字,如果该数字为偶数,则打印“此数字为偶数”,如果该数字为奇数,则打印“此数字为奇数”。为此,我使用二进制运算符“%”来确定估算的数字是偶数还是奇数。问题是我不断收到以下错误消息:“错误:二进制运算符'%'无法应用于类型为'String'的操作数?如果%2 == 0,则为'Int'。我不知道如何使用户输入成为Int值而不是默认的String,以便二进制运算符可以工作。
有人建议我尝试类型转换,但我似乎无济于事。
print("This code will inform you whether the number you input is odd or even.")
print("Please enter a number of your choice.")
var a = readLine()
if a % 2 == 0 {
print("This number is even.")
}
else {
print("This number is odd.")
}
我希望用户能够输入数字,并且计算机会告诉用户数字是奇数还是偶数。
答案 0 :(得分:-1)
readLine()返回一个可选字符串。要快速展开可选项,有几个选项很快出现,我猜那里有三个选项。一种是强制展开,第二种是可选链接,第三种是通过 guard 语句。在下面的选项中,我使用了可选链接来解开 redLine()返回的可选字符串。试试这个:
if let typed = readLine() {
if let num = Int(typed) {
if num % 2 == 0 {
print("This number is even.")
}
else {
print("This number is odd.")
}
}
} else {
print("Please enter a valid number")
}