Как увеличить буквы в Python? - PullRequest
       40

Как увеличить буквы в Python?

0 голосов
/ 25 сентября 2019

Напишите программу, которая принимает символ в качестве ввода (строка длиной 1), которую вы должны считать символом верхнего регистра;вывод должен быть следующим символом в алфавите.Если вход «Z», ваш вывод должен быть «A».(Вам нужно будет использовать оператор if.) До сих пор я пробовал несколько таких кодов:

chr = input()
if chr == '65':
        x = chr(ord(chr) + 1)
print(chr(65) + 1)

Он говорит, что печатает без вывода, просто неуверен, как добраться до нужного вывода.Я очень новичок в программировании.

Ответы [ 5 ]

1 голос
/ 25 сентября 2019

Вы можете использовать следующую идею:

A = 65 Z = 90

Если вы вычтите ord ('A') из входа, вы уменьшите диапазон до [0, 25]

Итак, вам нужно определить выход в диапазоне [0, 25].Чтобы избежать выхода из этого диапазона, вы должны использовать «%».

char_input = input()
return chr((ord(char_input) - ord('A') + 1) % 26 + ord('A'))

это означает, что, предоставляя вход, вы вычтете значение ord ('A'), чтобы "исправить" диапазон ипосле этого добавьте + 1. Вы возьмете% 26, чтобы избежать выхода из диапазона.После всего этого снова добавьте ord ('A').

0 голосов
/ 25 сентября 2019
alpha=input()
if alpha =='Z': print('A')
else:print(chr(ord(alpha)+1))

"Вам нужно использовать оператор if"

0 голосов
/ 25 сентября 2019

Надеюсь, это то, что вы ищете

_chr = input('Enter character(A-Z): ')
if _chr == 'Z':
    print('A')
else:
    print(chr(ord(_chr) + 1))
0 голосов
/ 25 сентября 2019

Это должно работать:

my_chr = ord(input())
if my_chr == 90:
        print('A')
else:
    print(chr(my_chr+1))

Он принимает входную букву (A-Z) и получает значение ord().Затем он проверяет, равно ли значение Z (ord('Z') == 90), и печатает A, в противном случае он увеличивает его на 1, затем возвращает обратно в строку и печатает.

0 голосов
/ 25 сентября 2019

Приведенный ниже метод использует ascii_letters.

import string

// returns a string of all the alphabets
// abcdefghijklmnopqrstuvwxyz"

   result = string.ascii_letters 

// get the index of the input alphabet and return the next alphabet in the results string. 
// using the modulus to make sure when 'Z' is given as the input it returns to the first alphabet. 

   result[(result.index(alphabet.lower()) + 1) % 26].upper() 
...