In [ ]:
练习1
s = input('输入您需要反转的字符串')
n = len(s)
def reverse(s):
    s_new = ['' for i in range(n)]
    for i in range(n):
        s_new[i] = s[n-i-1]
    return s_new
out = reverse(s)
for i in range(n):
    print(out[i],sep='',end='')

练习2
char = input('输入符号')
line = int(input('输入行数'))
def right():
    k = 1
    for i in range(line):
        print(char*k)
        k += 2
def iso():
    k = 1
    for i in range(line):
        print('{:^30}'.format(char*k))
        k += 2
def oth():
    global n
    k = 1
    for i in range(line):
        print(' '*n,end='')
        print(char*k)
        k += 2
        n += 2
n = 1
right()
iso()
oth()

练习3
unr = ['calf','elf','half','hoof','knife','leaf','life',
       'loaf','scarf','self','sheaf','shelf','thief','wife',
       'wolf','fireman','foot','goose','louse','man','mouse',
       'tooth','woman','child','ox','echo','embargo','hero',
       'potato','tomato','torpedo','veto']
reg = ['calves','elves','halves','hooves','knives','leaves',
       'life','lives','loaves','scarves','selves','thieves',
       'wives','wolves','firemen','feet','geese','lice','men',
       'mice','teeth','women','children','oxen','echoes',
       'embargoes','heroes','potatoes','tomatoes','torpedoes',
       'vetoes']
s = input('输入你想要的单词')
k = len(s)
if s in unr:
    for i in range(len(unr)):
        if s == unr[i]:
            print(reg[i])
            break
elif (s[k-1] == 'h') and (s[k-2] == 'c'):
    print(s,'es',sep='')
else:
    print(s,'s',sep='')

练习4
import random
char = input('符号是:')
a1 = int(input('上底是:'))
a2 = int(input('下底是:'))
def ech():
    n = random.randint(0,10)
    k = a1
    if n == 0:
        while k != a2:
            print(char*k)
            k += 1
    elif a2-a1+1 > n:
        while k != a2:
            print(' '*n,end='')
            print(char*k)
            k += 1
            n += 1
    else:
        while k != a2:
            print(' '*n,end='')
            print(char*k)
            k += 1
            n -= 1
ech()

练习5
import random
char = input('输入你想要的符号')
n = random.randint(5,20)
k = n
while k != 0:
    print(' '*k,end='')
    print(char*((n-k)*2+1))
    k -= 1
print(char*(2*n+1))
k += 1
while k != n+1:
    print(' '*k,end='')
    print(char*((n-k)*2+1))
    k += 1

练习6
s = input('输入字符串:')
n = len(s)
k = 0
while k != n:
    print(' '*k,end='')
    print(s[n-1:k:-1]+s[k]+s[k:n-1]+s[n-1])
    k += 1
print(' '*k,end='')
print(s[n-1])