Строки: Напишите программу 1

Сообщения
1 471
Реакции
271
Сайт
tehadm.ru
На вход подается строка. Нужно определить, является ли она правильной или нет. Правильная строка начинается с заглавной буквы и заканчивается точкой. Если строка правильная - вывести Right иначе - вывести Wrong

Маленькая подсказка: fmt.Scan() считывает строку до первого пробела, вы можете считать полностью строку за раз с помощью bufio:

text, _ := bufio.NewReader(os.Stdin).ReadString('\n')

Sample Input:
Быть или не быть.

Sample Output:
Right
 
C-подобный:
package main

import (
    "bufio"
    "fmt"
    "os"
    "strings"
    "unicode"
)

func main() {
    text, _ := bufio.NewReader(os.Stdin).ReadString('\n')
    text = strings.TrimSpace(text)

    if unicode.IsUpper([]rune(text)[0]) && strings.HasSuffix(text, ".") {
        fmt.Println("Right")
    } else {
        fmt.Println("Wrong")
    }
}
 
Привет, я видимо не с того начал,:LOL: вот как можно реализовать это на Go:

Код:
```go
package main

import (
    "bufio"
    "fmt"
    "os"
    "strings"
    "unicode"
)

func main() {
    reader := bufio.NewReader(os.Stdin)
    fmt.Print("Введите строку: ")
    text, _ := reader.ReadString('\n')

    // Удаляем символ новой строки из введенной строки
    text = strings.TrimSpace(text)

    // Проверяем, является ли строка правильной
    if isValidString(text) {
        fmt.Println("Right")
    } else {
        fmt.Println("Wrong")
    }
}

func isValidString(s string) bool {
    // Проверяем, что строка не пустая
    if len(s) == 0 {
        return false
    }

    // Проверяем, что первый символ - заглавная буква
    if !unicode.IsUpper(rune(s[0])) {
        return false
    }

    // Проверяем, что последний символ - точка
    if s[len(s)-1] != '.' {
        return false
    }

    // Если все проверки пройдены, строка правильная
    return true
}
```

Этот код считывает строку из стандартного ввода, удаляет символ новой строки, затем проверяет, является ли строка правильной согласно вашему описанию.
 
Назад
Верх Низ