👨🏻💻 Вопрос:
Непоследовательный вывод символов в консоль
Хотел написать программу генерации паролей для тренировки, при написании допустил ошибку(начиная со 2 ифа я генерил не диапазон и прибавлял начальное значение, а наоборот), и наткнулся на большую неожиданность. Почему-то вывод работает не последовательно. В конце должно выводиться слово ata , но оно выводится в центре, а должно быть в конце:
6CMW
#1BS&ata"&6,#
соответсвие символов кодам смотрю по таблице. Если выводить просто коды, то вывод следующий:
25
29
16
54
67
77
31
87
20
12
15
65
37
43
51
34
38
54
17
28
44
35
13
29
30
35
49
66
83
38
30
22
ata
Я понял, что 6CWM это коды которые начинаются с 54,67 и далее выводит все видимые символы(до 54 тоже символы не видимы), где-то видимо там же и перенос строки образуется
Максимально упростил код, разбил по отдельным ифам, всё равно ata в середине
сам код чтобы запустить
сам код чтобы был тут:
Golang задачи с собеседований
Непоследовательный вывод символов в консоль
Хотел написать программу генерации паролей для тренировки, при написании допустил ошибку(начиная со 2 ифа я генерил не диапазон и прибавлял начальное значение, а наоборот), и наткнулся на большую неожиданность. Почему-то вывод работает не последовательно. В конце должно выводиться слово ata , но оно выводится в центре, а должно быть в конце:
6CMW
#1BS&ata"&6,#
соответсвие символов кодам смотрю по таблице. Если выводить просто коды, то вывод следующий:
25
29
16
54
67
77
31
87
20
12
15
65
37
43
51
34
38
54
17
28
44
35
13
29
30
35
49
66
83
38
30
22
ata
Я понял, что 6CWM это коды которые начинаются с 54,67 и далее выводит все видимые символы(до 54 тоже символы не видимы), где-то видимо там же и перенос строки образуется
Максимально упростил код, разбил по отдельным ифам, всё равно ata в середине
сам код чтобы запустить
сам код чтобы был тут:
package mainНо на самый главный вопрос я ответа не нахожу: почему слово
import ("fmt"
"math/rand"
)
func main() {
length := 32
for i := 0; i < length; i++ {
var temp int
var choise int
choise = rand.Intn(4)
if choise == 0{
temp = rand.Intn(26) + 65 //big symbs
}
if choise == 1{
temp = rand.Intn(48) + 10 //numbers
}
if choise == 2{
temp = rand.Intn(97) + 26 //small symbs
}
if choise == 3{
temp = rand.Intn(33) + 15// cpec symbs
}
fmt.Printf("%c",temp)
// fmt.Println(temp)
}
fmt.Printf("%c",'a')
fmt.Printf("%c",116)
fmt.Printf("%c",'a')
}
ata
выводится в середине. В правильной версии такого нет.Golang задачи с собеседований