2014-11-14 1 views
0

Мне было интересно, как я могу полностью заполнить строку без использования каких-либо функций, связанных с .upper()? Можно ли использовать функцию ord() для возможности использования? Я в упражнении, где я должен воздерживаться от использования функции .upper.Верхний регистр полной строки без использования функции .upper? PYTHON

+0

Попробуйте 'ord ('a') - ord ('A')' в IDLE. – jonsca

ответ

1
ord("A") --> 65     ord("B") --> 66   ... 
ord("a") --> 97     ord("b") --> 98   ... 

Поэтому, когда вы хотите изменить символ нижнего регистра в верхний регистр без использования функции верхнего(), вы можете просто найти значение ASCII в нижнем регистре с помощью функции ORD(), вычесть 32 (который представляет собой разницу между прописными и строчными буквами), а затем используйте функцию chr(), чтобы преобразовать ее обратно в char.

0
print ('Case changer(Capital to small ONLY)') 
line1 = input ('Enter here: ') 
g = "" 
for ch in line1: 
    if ord (ch) >= 65 and ord(ch) <= 90: 
     x = ord(ch) + 32 
     y = chr (x) 
     g = g + y 
print(g) 
+0

Хотя этот код может помочь решить проблему, , предоставляя дополнительный контекст относительно _why_ и/или _how_ it , ответ на вопрос значительно улучшит его долгосрочную стоимость . Пожалуйста, отредактируйте свой ответ, чтобы добавить описание . –

Смежные вопросы