Найти - Пользователи
Полная версия: помогите с решением задачи
Начало » Центр помощи » помогите с решением задачи
1
aleks0070
Написать ф-цию toupper, которая принимает строку s (в которой записано слово на английском), и все маленькие буквы превращает в большие, и возвращает результат.
Пример:
“abaCab” -> “ABACAB”
я знаю короткое и быстрое решение)
 def f(s):
    return s.upper()
print(f("addSSdds"))
но загвоздка в том что метод upper использовать нельзя
думаю можно сделать как то через chr(65,91) но не могу понять как можно это использовать
заранее спасибо
JOHN_16
Давайте вм дам подсказку, а Вы попробуете сами решить задачу:
 In [40]: chr(ord('a') - 32)
Out[40]: 'A'
aleks0070
JOHN_16
Давайте вм дам подсказку, а Вы попробуете сами решить задачу:
пока без функции сделал.
 g=[]    
i=input('')
for s in i:
    g.append(chr(ord(s) - 32))
print(g)
извините за глупый вопрос а что означает -32?
wallet
 SPI={'a':'A', 'b':'B', 'c':'C', 'd':'D', 'e':'E',
     'f':'F', 'g':'G', 'h':'H', 'i':'I', 'j':'J',
     'k':'K', 'l':'L', 'm':'M', 'n':'N', 'o':'O', 'p':'P',
     'q':'Q', 'r':'R', 's':'S', 't':'T', 'u':'U',
     'v':'V', 'w':'W', 'x':'X', 'y':'Y', 'z':'Z'}
def toupper(word):
    sl=[]
    for i in word:
        if i in SPI:
            for j,y in SPI.items():
                if i == j:
                    i = y
                    sl.append(i)
        else:
            sl.append(i)
    return ''.join(sl)
print (toupper('Hello word'))
FishHook
wallet
Наркоманский код. Зачем вам перебор словаря? Это ж словарь, по ключу можно получить значение без перебора.

 SPI={'a':'A', 'b':'B', 'c':'C', 'd':'D', 'e':'E',
     'f':'F', 'g':'G', 'h':'H', 'i':'I', 'j':'J',
     'k':'K', 'l':'L', 'm':'M', 'n':'N', 'o':'O', 'p':'P',
     'q':'Q', 'r':'R', 's':'S', 't':'T', 'u':'U',
     'v':'V', 'w':'W', 'x':'X', 'y':'Y', 'z':'Z'}
def toupper(word):
    return ''.join(SPI.get(i, i) for i in word)
print (toupper('Hello word'))
JOHN_16
aleks0070
-32 это просто смещение номера символа в таблице символов
aleks0070
 def f(s):
    g=[]   
    for i in s:
        g.append(chr(ord(i) -32))
    return g
print(f('sasd'))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB