string_task.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package main
  2. import (
  3. "fmt"
  4. "strings"
  5. "unicode"
  6. )
  7. func main() {
  8. // text, _ := bufio.NewReader(os.Stdin).ReadString('\n')
  9. // text = strings.Trim(text, "\n\r")
  10. // rs := []rune(text)
  11. // if (unicode.IsUpper(rs[0])) && (strings.HasSuffix(text, ".")) {
  12. // fmt.Println("Right")
  13. // } else {
  14. // fmt.Println("Wrong")
  15. // }
  16. /*
  17. text, _ := bufio.NewReader(os.Stdin).ReadString('\n')
  18. text = strings.TrimRight(text, "\n")
  19. rs := []rune(text)
  20. if unicode.IsUpper(rs[0]) && rs[len(rs)-1] == '.' {
  21. fmt.Println("Right")
  22. } else {
  23. fmt.Println("Wrong")
  24. }
  25. */
  26. /*
  27. text, _ := bufio.NewReader(os.Stdin).ReadString('\n')
  28. text = strings.TrimRight(text, "\n")
  29. firstChar, _ := utf8.DecodeRuneInString(text)
  30. lastChar, _ := utf8.DecodeLastRuneInString(text)
  31. if unicode.IsUpper(firstChar) && lastChar == '.' {
  32. fmt.Println("Right")
  33. } else {
  34. fmt.Println("Wrong")
  35. }
  36. */
  37. // poly()
  38. // inString()
  39. // oddSimbol()
  40. // delSimbol()
  41. password()
  42. }
  43. func poly() {
  44. /*
  45. text, _ := bufio.NewReader(os.Stdin).ReadString('\n')
  46. text = strings.TrimRight(text, "\n\r")
  47. rs := []rune(text)
  48. var res bool = true
  49. for i := range rs {
  50. // fmt.Println(rs[i], rs[len(rs)-(1+i)])
  51. if rs[i] != rs[len(rs)-(1+i)] {
  52. res = false
  53. }
  54. if i == len(rs)/2-1 {
  55. break
  56. }
  57. }
  58. if res == true {
  59. fmt.Println("Палиндром")
  60. } else {
  61. fmt.Println("Нет")
  62. }
  63. */
  64. var s, r string
  65. fmt.Scan(&s)
  66. for _, i := range s {
  67. r = string(i) + r
  68. }
  69. fmt.Println(r)
  70. if s == r {
  71. fmt.Println("Палиндром")
  72. } else {
  73. fmt.Println("Нет")
  74. }
  75. }
  76. func inString() {
  77. var x, s string
  78. fmt.Scan(&x, &s)
  79. fmt.Println(strings.Index(x, s))
  80. }
  81. func oddSimbol() {
  82. var s, newString string
  83. fmt.Scan(&s)
  84. for i, v := range s {
  85. if i%2 != 0 {
  86. newString += string(v)
  87. }
  88. }
  89. fmt.Println(newString)
  90. }
  91. func delSimbol() {
  92. var s, newString string
  93. fmt.Scan(&s)
  94. for _, v := range s {
  95. if strings.Count(s, string(v)) == 1 {
  96. newString += string(v)
  97. }
  98. }
  99. fmt.Println(newString)
  100. }
  101. func password() {
  102. var pas string
  103. var res bool = true
  104. fmt.Scan(&pas)
  105. rpas := []rune(pas)
  106. if len(rpas) < 5 {
  107. fmt.Println("Wrong password")
  108. return
  109. }
  110. for i := range rpas {
  111. if unicode.Is(unicode.Latin, rpas[i]) == false && unicode.IsDigit(rpas[i]) == false {
  112. res = false
  113. break
  114. }
  115. }
  116. if res == false {
  117. fmt.Println("Wrong password")
  118. } else {
  119. fmt.Println("Ok")
  120. }
  121. }