例如,如果输入是这个
1 3 4 5
全部用空格隔开,我想应用平方单个数字然后将其相加的功能。
我只是不知道如何将功能应用于每个数字。我所能想到的是,我必须将数字切成薄片然后将函数应用于每个数字。我到处都看了,找不到解决方法。
在Python中,我就是这样做的,我已经将这些值放入了一个名为“ n”的列表中。
#The list is pasted from the initial puzzle
n=[10, 10, 9, 8, 10, 10, 10]
# The list is first squared
b = (list(map(lambda x:x**2,n)))
b成为新列表,其中每个数字都完成了功能。
答案 0 :(得分:0)
如果您的整数实际上是一个由空格分隔的字符串,则可以这样做。
package main
import "fmt"
import "strings"
import "strconv"
func main() {
numbers := "1 3 4 5"
var n []int
for _, v := range strings.Fields(numbers) {
i, err := strconv.Atoi(v)
if err != nil {
fmt.Println(err.Error())
break
}
n = append(n, i*i)
}
fmt.Println(n)
}
答案 1 :(得分:0)
package main
import (
"strconv"
"fmt"
"strings"
)
func main() {
stringwithnumbers := "1 2 3 4 5"
numberarray := strings.Split(stringwithnumbers, " ")
stringwithnumbers = ""
for _, number := range numberarray {
numbernew,err := strconv.Atoi(number)
if err != nil{
return
}
numbernew = numbernew * 2
stringwithnumbers += strconv.Itoa(numbernew)
stringwithnumbers += " "
}
stringwithnumbers = strings.Trim(stringwithnumbers, " ")
//You can check the result...
fmt.Print(stringwithnumbers)
}
您可以在此处检查代码和所做的更改: https://play.golang.org/