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

def main():
    line = '赏花归去马如飞'
    plalindrome(line)
    

if __name__ == '__main__':
    main()


             赏
            赏赏
           赏花赏
          赏花花赏
         赏花归花赏
        赏花归归花赏
       赏花归去归花赏
      赏花归去去归花赏
     赏花归去马去归花赏
    赏花归去马马去归花赏
   赏花归去马如马去归花赏
  赏花归去马如如马去归花赏
 赏花归去马如飞如马去归花赏
赏花归去马如飞飞如马去归花赏
  • 练习一:实现reverse(s)函数,功能与s.reverse()相同。

In [3]:
import copy

def my_reverse(list):
    i=len(list)
    list2=list.copy()
    for num in list2 :
        i-=1
        list[i]=num
    print(list)

def main ():
    list=[1,2,3,4]
    print(list,end='')
    print('reverse 之后是:',end='')
    my_reverse(list)

if __name__=='__main__':
    main()


[1, 2, 3, 4]reverse 之后是:[4, 3, 2, 1]
  • 练习二:写函数,根据给定符号和行数,打印相应直角三角形,等腰三角形及其他形式的三角形。

In [4]:
sign=[]
i=input('please enter a sign  ')
sign.append(i)
n=int(input('please enter an integer as the row you want to print  '))

print('直角三角形')
for i in range(1,n+1):
    print(sign[0]*i)

print('等腰三角形')
for i in range(1,n+1):
        print(' '*(n-i)+sign[0]*(i*2-1))
    
print('等边三角形')
for i in range(1,n+1):
        print(' '*(n-i)+(sign[0]+' ')*i)

print('其他三角形')
for i in range(1,n+1):
        print(' '*i+sign[0]*i)


please enter a sign  *
please enter an integer as the row you want to print  5
直角三角形
*
**
***
****
*****
等腰三角形
    *
   ***
  *****
 *******
*********
等边三角形
    * 
   * * 
  * * * 
 * * * * 
* * * * * 
其他三角形
 *
  **
   ***
    ****
     *****
  • 练习三:将任务4中的英语动词变复数的函数,完整实现。

In [5]:
words=[]
word=input('please enter a word ')
for i in range(len(word)):
    words.append(word[i])
if word.endswith('ch')or word.endswith('sh')or word.endswith('x')or word.endswith('s') :
    words.append('es')
elif word.endswith('y') and not(words[i-1]=='a' or words[i-1]=='u' or words[i-1]=='o' or words[i-1]=='i' or words[i-1]=='e' ):
    words[i]='i'
    words.append('es')
else:
    words.append('s')

for ch in words :
    print(ch,end='')
print()


please enter a word stupy
stupies