Sekwencje cz. 1


    1. Indeksowanie
    name = "Bill Munny"

    print(name[2])

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    2. Ćwiczenie: wyświetl znak
    def element(text, number):
    if number < 0 or number >= len(text):
        return None

    return text[number]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    3. Funkcja len()
    def sum_len(str1, str2):
      return len(str1) + len(str2)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    4. Ćwiczenie: różnica długości
    def diff_len(str1, str2):
      len1 = len(str1)
      len2 = len(str2)
      
      if len1 > len2:
          return len1 - len2
      else:
          return len2 - len1
    
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    5. Wycinanie sekwencji
    def get_month(date_str):
      month_str = date_str[2:4]
      return month_str

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    6. Klauzula else
    def get_year(date):
      if date[2] == "9":
          return date[:4]
      else:
          return date[-4:]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    7. Niemutowalność
    def add_dollar(text):
      modified_text = "$$" + text[2:-2] + "$$"
      return modified_text

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    8. Metoda index()
    def formatName(name):
      parts = name.split('_')
      camel_case_name = parts[0] + ''.join(part.capitalize() for part in parts[1:])
      return camel_case_name
      
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    9. Ćwiczenie: inicjały
    def get_initials(name):
      words = name.split()
      initials = ''.join(word[0].upper() for word in words)
      return initials
          
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    10. Operator in
    def get_index(value, text):
      try:
          index = text.index(value)
          return index
      except ValueError:
          return False
          
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    11. Ćwiczenie: wyczyść
    def cleanText(text):
      cleaned_text = text.replace("$", "")
      return cleaned_text
      
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    12. Metoda count()
    def get_dollar(text):
      dollar_text = ""
      for char in text:
          if char == "$":
              dollar_text += char
      return dollar_text
    
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    13. Ćwiczenie: udział znaku
    def get_percentage(value, text):
      if len(text) == 0:
          return 0.0
      
      count = text.count(value)
      percentage = (count / len(text)) * 100.0
      return percentage

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    14. Pętla for
    def hasDuplicates(text):
      for i in range(len(text) - 1):
          if text[i] == text[i + 1]:
              return True
      return False

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    15. Ćwiczenie - samogłoski
    for x in "AEIOUY":
        count = text.upper().count(x)
        print(x + " " + str(count))

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    16. Funkcja ord()
    def maxOrd(text):
      max_value = 0
      for char in text:
          char_value = ord(char)
          if char_value > max_value:
              max_value = char_value
      return max_value

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    17. Funkcja chr()
    def encrypt(message):
      encrypted_message = ""
      for char in message:
          char_code = ord(char)
          encrypted_char = chr(char_code * 2)
          encrypted_message += encrypted_char
      return encrypted_message
    
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    18. Ćwiczenie - odszyfruj
    def decrypt(message, key):
      decrypted_message = ""
      for char in message:
          char_code = ord(char)
          decrypted_char_code = char_code // key
          decrypted_char = chr(decrypted_char_code)
          decrypted_message += decrypted_char
      return decrypted_message
      
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    19. Funkcja range()
    def prize(days):
      suma = 0
      kwota = 0
      
      for x in range(days):
          kwota += x + 1
          suma += kwota
          
      return suma

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    20. Ćwiczenie: trochę trudniejszy szyfr
    def encrypt(message):
      encrypted_message = ""
      for i, char in enumerate(message):
          char_code = ord(char)
          new_char_code = char_code + i
          new_char = chr(new_char_code)
          encrypted_message += new_char
      return encrypted_message
      
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    21. Range() - dwa argumenty
    def charsInDoc(a, b):
      total_chars = 0
      for page in range(a, b + 1):
          total_chars += charsOnPage(page)
      return total_chars

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    22. Range() - trzy argumenty
    def reverse(s):
      return s[::-1]
      
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    23. Ćwiczenie: nieparzyste znaki
    def oddChars(s):
        return s[1::2]