自己定义一个reverse(s)函数,功能返回字符串s的倒序字符串。


In [2]:
def reverse(s):
    x=len(s)
    print(s[x-1:0:-1] + s[0])
reverse("你爱我")


我爱你

写函数,根据给定符号和行数,打印相应直角三角形,等腰三角形及其他形式的三角形。


In [5]:
def Right(a):
    for i in range(1, len(a)*2+1):
        for j in range(1,i):
            print(a[0], end='')
        print()
        
def Equilateral(a):
    for m in range(1, len(a)*2+1):
        print((len(a)*2-m)*' ' + a[0]*m, end='')
        print()        
Right("啦啦啦啦啦")
Equilateral("啦啦啦啦啦")


啦
啦啦
啦啦啦
啦啦啦啦
啦啦啦啦啦
啦啦啦啦啦啦
啦啦啦啦啦啦啦
啦啦啦啦啦啦啦啦
啦啦啦啦啦啦啦啦啦
         啦
        啦啦
       啦啦啦
      啦啦啦啦
     啦啦啦啦啦
    啦啦啦啦啦啦
   啦啦啦啦啦啦啦
  啦啦啦啦啦啦啦啦
 啦啦啦啦啦啦啦啦啦
啦啦啦啦啦啦啦啦啦啦

将任务4中的英语名词单数变复数的函数,尽可能的考虑多种情况,重新进行实现。


In [6]:
def danci(word):
    if word.endswith('x') or word.endswith('o'):
        print(word+"es")
    elif word.endswith('ch') or word.endswith('sh'):
        print(word+"es")
    else :
        print(word+"s")
        
word=input("请输入一个英文单词:")
danci(word)


请输入一个英文单词:girl
girls

练习四,写函数,根据给定符号、上底、下底、高,打印各种梯形。


In [1]:
def print_trapezoid(a,b,d):
    for i in range(0,d):
        print(' '*(h + ul) + a*(i + ul))
            
s = input('请输入符号:')
ul = int(input('请输入上底:'))

h = int(input('请输入高:'))
print_trapezoid(s,ul,h)


请输入符号:o
请输入上底:3
请输入高:7
          ooo
          oooo
          ooooo
          oooooo
          ooooooo
          oooooooo
          ooooooooo

练习五:写函数,根据给定符号,打印各种菱形。


In [2]:
def rhombus(symbol,a):
    for i in range(0, a):
        for j in range(0,a-i):           
            print(' ',end='')
        for k in range(0,2*i-1):
            print (symbol,end='')
        print()
    for i in range(a,0,-1):
        for j in range(0,a-i):           
            print(' ',end='')
        for k in range(0,2*i-1):
            print (symbol,end='')
        print()

        
symbol=input('请输入符号:')
a=int(input('请输入菱形边长: '))
rhombus(symbol,a) 
print()


请输入符号:o
请输入菱形边长: 5
     
    o
   ooo
  ooooo
 ooooooo
ooooooooo
 ooooooo
  ooooo
   ooo
    o

练习六:与本小节任务基本相同,但要求打印回文字符倒三角形


In [3]:
def plalindrome(line):
    for i in range( len(line)*2,0,-1):
        if i == 1:
            print(' '*(len(line)*2-1) +line[0])
        elif i%2 == 1:
            print(' '*(len(line)*2-i) + line[:i//2] + line[i//2] + line[i//2-1::-1])
        else:
            print(' '*(len(line)*2-i) + line[:i//2] + line[i//2-1::-1])


text = '赏花归去马如飞'
plalindrome(text)


赏花归去马如飞飞如马去归花赏
 赏花归去马如飞如马去归花赏
  赏花归去马如如马去归花赏
   赏花归去马如马去归花赏
    赏花归去马马去归花赏
     赏花归去马去归花赏
      赏花归去去归花赏
       赏花归去归花赏
        赏花归归花赏
         赏花归花赏
          赏花花赏
           赏花赏
            赏赏
             赏