在不使用python中的builin函数的情况下,将用户输入用于范围和镜像字符串时反转字符串

问题描述

我一直困扰着这个小问题:如何在范围函数中使用用户输入来“停止”,然后将字符串(在这种情况下为字母)镜像回去,而无需两次输入。

现在,代码只能包含一个数字,但是最好输入一个字母,然后将其转换为正确的数字,以便将其放置在字母中。并将其用于范围! 但是我尝试了转弯,但结果却没有令人满意的结果。

感谢您的时间和耐心!

 def front_aplhabet():
    alphabet = ''
    for letter in range(0,human):
        alphabet += chr(ord("a") + letter)
    return alphabet

# function to mirror front_aplhabet output
def back_alphabet(input):
    return input[::-1]


human = int((input("Please enter a letter: "))

palidrome_2 = front_aplhabet() + back_alphabet(front_aplhabet())

print(palidrome_2)

输出示例:

Please enter a letter: 5
abcdeedcba

目标是获得以下成就:

Please enter a letter: "e"
abcdefgfedcba

请务必批判我在这里学习!

我也尝试过

def front_aplhabet():
    alphabet = ''
    for letter in range(0,int(goat)):
        alphabet += chr(ord("a") + letter)
    return alphabet

# function to mirror front_aplhabet output
def back_alphabet(input):
    return input[::-1]


human = (input("Please enter a letter: "))
goat = ord(human)

palidrome_2 = front_aplhabet() + back_alphabet(front_aplhabet())

print(palidrome_2)

输出

Please enter a letter: 5
abcdefghijklmnopqrstuvwxyz{|}~~}|{zyxwvutsrqponmlkjihgfedcba

目标是获得以下成就:

Please enter a letter: "g"
abcdefgfedcba

解决方法

您似乎想问用户一个字母,然后列出前几个字母以及镜子。

尝试此代码

def front_alphabet(human):
    alphabet = ''
    for letter in range(0,human):
        alphabet += chr(ord("a") + letter)
    return alphabet

# function to mirror front_aplhabet output
def back_alphabet(input):
    return input[::-1]


human = ord(input("Please enter a letter: ")) - 97  # convert lowercase letter to ascii

palidrome_2 = front_alphabet(human) + chr(human+97) + back_alphabet(front_alphabet(human))

print(palidrome_2)

输出

Please enter a letter: g
abcdefgfedcba