Само латински символи

Краен срок
10.10.2013 18:00

Срокът за предаване на решения е отминал

Напишете функция с името hasOnlyLatinSymbols, която приема string, който ще бъде програма, написана на Go, и връща лъжа, ако програмата съдържа съдържа символи, които не са на латиница, и истина в противен случай.

Example:

isValid := hasOnlyLatinSymbols(`
    package main

    import "fmt"

    func main() {
        баба := 1
    }
`)

isValid // false

Решения

Иван Божилов
  • Коректно
  • 3 успешни тест(а)
  • 0 неуспешни тест(а)
Иван Божилов
package main // Touched by an admin
func hasOnlyLatinSymbols(txt string) bool {
var lastEl string = "~"
for i:=0; i<len(txt); i++ {
if txt[i]>lastEl[0] {
return false
}
}
return true
}
PASS
ok  	_/tmp/d20131015-29033-1ikc6g8	0.011s
PASS
ok  	_/tmp/d20131015-29033-1ikc6g8	0.011s
PASS
ok  	_/tmp/d20131015-29033-1ikc6g8	0.011s
Михаил Милков
  • Некоректно
  • 2 успешни тест(а)
  • 1 неуспешни тест(а)
Михаил Милков
package main // Touched by an admin
func hasOnlyLatinSymbols(text string) bool {
for i:=0; i<len(text); i++ {
if text[i] < 32 || text[i] > 122 {
//println("False") I put Println only for me to see if it is working properly.
return false;
}
}
//println("true") Same for that one.
return true
}
--- FAIL: TestReturnsTrueWhenOnlyLatinChars (0.00 seconds)
	solution_test.go:17: Returned false
FAIL
exit status 1
FAIL	_/tmp/d20131015-29033-10rq8d2	0.011s
PASS
ok  	_/tmp/d20131015-29033-10rq8d2	0.011s
PASS
ok  	_/tmp/d20131015-29033-10rq8d2	0.011s
Мартин Ангелов
  • Коректно
  • 3 успешни тест(а)
  • 0 неуспешни тест(а)
Мартин Ангелов
package main // Touched by an admin
func hasOnlyLatinSymbols(input string) bool {
for _, char := range input {
if char > 185 {
return false
}
}
return true
}
PASS
ok  	_/tmp/d20131015-29033-rbsfro	0.014s
PASS
ok  	_/tmp/d20131015-29033-rbsfro	0.011s
PASS
ok  	_/tmp/d20131015-29033-rbsfro	0.011s
Недялко Дяков
  • Коректно
  • 3 успешни тест(а)
  • 0 неуспешни тест(а)
Недялко Дяков
package main // Touched by an admin
func hasOnlyLatinSymbols(code string) bool {
for _, char := range code {
if char > 127 {
return false
}
}
return true
}
PASS
ok  	_/tmp/d20131015-29033-1t0mxkr	0.011s
PASS
ok  	_/tmp/d20131015-29033-1t0mxkr	0.011s
PASS
ok  	_/tmp/d20131015-29033-1t0mxkr	0.011s
Александър Димитров
  • Коректно
  • 3 успешни тест(а)
  • 0 неуспешни тест(а)
Александър Димитров
package main // Touched by an admin
func hasOnlyLatinSymbols(program string) bool {
result := true
for _, symbol := range program {
if int(symbol) > 127 {
result = false
break
}
}
return result
}
PASS
ok  	_/tmp/d20131015-29033-ju2af2	0.011s
PASS
ok  	_/tmp/d20131015-29033-ju2af2	0.011s
PASS
ok  	_/tmp/d20131015-29033-ju2af2	0.011s
Йордан Пулов
  • Коректно
  • 3 успешни тест(а)
  • 0 неуспешни тест(а)
Йордан Пулов
package main // Touched by an admin
func hasOnlyLatinSymbols(code string) bool {
for _, s:= range code {
if s < 0 || s >126{
return false
}
}
return true
}
PASS
ok  	_/tmp/d20131015-29033-1ufhl6h	0.011s
PASS
ok  	_/tmp/d20131015-29033-1ufhl6h	0.011s
PASS
ok  	_/tmp/d20131015-29033-1ufhl6h	0.011s
Дойчин Атанасов
  • Коректно
  • 3 успешни тест(а)
  • 0 неуспешни тест(а)
Дойчин Атанасов
/*
Не ме цитирайте, но всички скоби, препинателни знаци, равнота, цифри,
празни места, изобщо всичко друго освен буквите *не е* латиница. От това
разбира се, следва че всяа програма на Go, за която мога да се сетя, съдържа
символи, които не са на латиница. Съответно най - точната имплементация ще е
едно "return false" и нищо друго. Въпреки това съм написал функция за това,
което сте си мислили, че казвате в условието. Но тъй като условието е много
неясно все още не съм сигурен, че това сте си мислили. Ами неща като
var lala string = "漢語"
Тук нелатинските йероглифи са сигурно затворени в низ. Но от слайдовете и условието
оставам с впечатление, че се интересувате от имената в програмата. Дали е така?
Въпроси... въпроси...
Избрах си най - простия вариант.
*/
package main // Touched by an admin
func hasOnlyLatinSymbols(input string) bool {
for _, symbol := range input {
if symbol >= 127 {
return false
}
}
return true
}
PASS
ok  	_/tmp/d20131015-29033-1l1okbx	0.016s
PASS
ok  	_/tmp/d20131015-29033-1l1okbx	0.011s
PASS
ok  	_/tmp/d20131015-29033-1l1okbx	0.011s
Димитър Дишев
  • Коректно
  • 3 успешни тест(а)
  • 0 неуспешни тест(а)
Димитър Дишев
package main
import "fmt"
func hasOnlyLatinSymbols(temp string) bool {
for i := 0; i < len(temp); i++ {
if temp[i] > 127 {
return false
}
}
return true
}
func main() {
fmt.Println(hasOnlyLatinSymbols(`
package main
import "fmt"
func main() {
тест:= 12
}
`))
}
PASS
ok  	_/tmp/d20131015-29033-1ggoy4z	0.011s
PASS
ok  	_/tmp/d20131015-29033-1ggoy4z	0.011s
PASS
ok  	_/tmp/d20131015-29033-1ggoy4z	0.011s
Георги Пеев
  • Некоректно
  • 0 успешни тест(а)
  • 3 неуспешни тест(а)
Георги Пеев
package main // Touched by an admin
import (
"fmt"
"unicode/utf8"
)
func hasOnlyLatinSymbols (str string) bool {
stringLength := len(str);
runeCount := utf8.RuneCountInString(str);
var result bool
if stringLength == runeCount {
result = true;
} else {
result = false;
}
return result;
}
# _/tmp/d20131015-29033-11wgjbm
./solution.go:4: imported and not used: "fmt"
FAIL	_/tmp/d20131015-29033-11wgjbm [build failed]
# _/tmp/d20131015-29033-11wgjbm
./solution.go:4: imported and not used: "fmt"
FAIL	_/tmp/d20131015-29033-11wgjbm [build failed]
# _/tmp/d20131015-29033-11wgjbm
./solution.go:4: imported and not used: "fmt"
FAIL	_/tmp/d20131015-29033-11wgjbm [build failed]
Стефан Кънев
  • Коректно
  • 3 успешни тест(а)
  • 0 неуспешни тест(а)
Стефан Кънев
package main // Touched by an admin
func hasOnlyLatinSymbols(text string) bool {
for _, byte := range text {
if byte > 127 {
return false
}
}
return true
}
PASS
ok  	_/tmp/d20131015-29033-1lq7bnd	0.011s
PASS
ok  	_/tmp/d20131015-29033-1lq7bnd	0.011s
PASS
ok  	_/tmp/d20131015-29033-1lq7bnd	0.012s
Живко Чобанов
  • Коректно
  • 3 успешни тест(а)
  • 0 неуспешни тест(а)
Живко Чобанов
//https://github.com/jivko-chobanov/golang-homework/tree/master/challenges/1
package main
func hasOnlyLatinSymbols(goCode string) bool {
for _, character := range goCode {
if int(character) > 126 {
return false
}
}
return true
}
func main() {
//testTheExample(goCodeWithBGLetters)
//testTheExample(goCodeWithoutBGLetters)
}
PASS
ok  	_/tmp/d20131015-29033-dwxyvn	0.011s
PASS
ok  	_/tmp/d20131015-29033-dwxyvn	0.011s
PASS
ok  	_/tmp/d20131015-29033-dwxyvn	0.011s
Ива Тотева
  • Коректно
  • 3 успешни тест(а)
  • 0 неуспешни тест(а)
Ива Тотева
package main // Touched by an admin
import (
"unicode"
)
func hasOnlyLatinSymbols(word string) bool {
for _, currentChar := range word {
if !unicode.IsLetter(currentChar) {
continue
}
if !unicode.Is(unicode.Latin, currentChar) {
return false
}
}
return true
}
PASS
ok  	_/tmp/d20131015-29033-1akijhl	0.011s
PASS
ok  	_/tmp/d20131015-29033-1akijhl	0.011s
PASS
ok  	_/tmp/d20131015-29033-1akijhl	0.011s
Мария Терзиева
  • Некоректно
  • 2 успешни тест(а)
  • 1 неуспешни тест(а)
Мария Терзиева
package main // Touched by an admin
import "unicode"
func hasOnlyLatinSymbols(programm string) bool {
for _, symbol := range programm {
if unicode.Is(unicode.Cyrillic, symbol) {
return false
}
}
return true
}
PASS
ok  	_/tmp/d20131015-29033-ocf5f3	0.011s
PASS
ok  	_/tmp/d20131015-29033-ocf5f3	0.011s
--- FAIL: TestReturnsFalseWhenContainingChineseChars (0.00 seconds)
	solution_test.go:51: Returned true
FAIL
exit status 1
FAIL	_/tmp/d20131015-29033-ocf5f3	0.011s