我想从标准输入中读取一组整数值并将其放入整数切片中。不使用for
循环的最快方法是什么?
例如
Enter the number of integers
3
Enter the integers
23 45 66
如何将这些值放在整数切片中?
无论如何都会有一个循环,这里没有for
and goto
循环(在Go
Playground
上尝试一下):
package main
import "fmt"
func main() {
fmt.Println(`Enter the number of integers`)
var n int
if m, err := Scan(&n); m != 1 {
panic(err)
}
fmt.Println(`Enter the integers`)
all := make([]int, n)
ReadN(all, 0, n)
fmt.Println(all)
}
func ReadN(all []int, i, n int) {
if n == 0 {
return
}
if m, err := Scan(&all[i]); m != 1 {
panic(err)
}
ReadN(all, i+1, n-1)
}
func Scan(a *int) (int, error) {
return fmt.Scan(a)
}
io:
Enter the number of integers
3
Enter the integers
10 20 30
[10 20 30]
为了更快地进行输入扫描重写:
func Scan(a *int) (int, error) {
return fmt.Scan(a)
}
使用:
更快的输入扫描
问题内容: 我想读取两个输入值。第一个值应为整数,第二个值应为浮点数。 我看到用Python在同一行中读取了两个变量,但是仅当两个值的类型相同时,它才适用。我还有其他办法吗? 输入示例,第一个是int,第二个是float。输入应该在一行上: http://www.codechef.com/problems/HS08TEST/ 我是Python的新手。 问题答案: 像这样: 您不能单线执行此操作(或
问题内容: 我在我的项目中遇到了麻烦,因为我无法正确开始,即从用户读取一行用空格隔开的整数并将值放入数组中。 这就是我所拥有的,它似乎只读取数组中的第一个元素,因为初始化count时,出于某种原因将其设置为1。 谁能帮我?以其他方式执行此操作会更好吗? 问题答案: 使您的代码正常工作仅需进行很小的更改。该 错误 是在这一行: 正如我在问题下的评论中指出的那样,它仅读取输入的下一个标记。请参阅文档。
问题内容: 我有以下测试文件: 解析此文件每一行并创建带有(名称,姓氏,生日)的对象的最佳方法是什么?当然,这只是一个示例,实际文件中有很多记录。 问题答案:
我有这样一个字符串:<代码>0 1-3 4 5 6!7.8 9-10\n11我只想得到两边都有空格或换行符或什么都没有的数字,即0,4,5,6,11。我的regexp只有4和6。 Regexp测试
我有一个数据帧,其中一列是一系列字符串,其中截然不同的短语要么是单个单词,要么是用空格分隔的多个单词;每个单词的第一个字母都是大写字母(例如“草莓”或“草莓果酱”)。相反,如果这些词不是同一短语的一部分,则不会间隔开(例如“jamapple”)。 我如何使用regex在一个字符串中根据上面的规则将短语分开(分为“草莓果酱”、“苹果”、“香蕉”、“梨碎”、“土豆”、“杏仁蛋糕”)。然后提取他们?即获
问题内容: 我尝试将文件读入熊猫。该文件具有以空格分隔的值,但是我尝试使用不同数量的空格: 但这不起作用 问题答案: 添加参数,它比正则表达式更快。