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


In [1]:
def reverse(s):
    print(s[0:len(s)])
    print(s[len(s)-1:0:-1]+s[0])
    
s=input('请输入一个字符串,以回车结束:')
reverse(s)


请输入一个字符串,以回车结束:123faghd
123faghd
dhgaf321

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


In [4]:
def printzj(fuhao,k):
    for i in range(1,k+1):
        print(fuhao*i)

def printdy(fuhao,k):
    for i in range(1,k+1):
        if i==1:
            print(' '*(k-1) + fuhao)
        elif i%2==0:
            print(' '*(k-i) + fuhao*(i-1)*2+fuhao)
        else:
            print(' '*(k-i)+fuhao*(i-1)*2+fuhao)
        

def printdyzj(fuhao,k):
    for i in range(1,k+1):
        print(fuhao*i)
        
k=int(input('请输入所需行数:'))            
fuhao='.'
printzj(fuhao,k)
print('-'*10+'分割线'+'-'*10)
printdy(fuhao,k)
print('-'*10+'分割线'+'-'*10)
printdyzj(fuhao,k)


请输入所需行数:6
.
..
...
....
.....
......
----------分割线----------
     .
    ...
   .....
  .......
 .........
...........
----------分割线----------
.
..
...
....
.....
......

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


In [8]:
def n_change(a):
    k=len(a) 
    if a[k-1:k] in ['o','s','x']:
        print (a,'es',sep='')
    elif a[k-2:k] in ['ch','sh']:
        print(a,'es',sep='')
    elif a[k-1:k]=='y' and a[k-2:k-1] in ['a','e','i','o','u']:
        print(a,'s',sep='')
    elif a[k-1:k]=='y':
        print(a[:-1],'ies',sep='')
    else:
        print(a,'s',sep='')

a=input('请输入一个单词:')
n_change(a)


请输入一个单词:boy
boys

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


In [ ]:

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


In [ ]:

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


In [ ]: