In [12]:
#自己定义一个reverse(s)函数,功能返回字符串s的倒序字符串。
def order(line):
    i=0
    for n in line:
        i+=1
    print(line[i+1::-1])
lin=str(input())
order(lin)


qwe
ewq

In [9]:
#写函数,根据给定符号和行数,打印相应直角三角形,等腰三角形及其他形式的三角形。
print('请输入一个符号')
line=str(input())
print('请输入指定行数')
n=int(input())
print('直角三角形')
def zhijiao(line):
    for i in range(1, n+1):
        print(line[0]*i)
        i+=1
zhijiao(line)
print()
print('等腰三角形')
def dengyao(line):
    for i in range(1, n+1):
        if i == 1:
            print(' '*(n-i) +line[0])
        else:
            print(' '*(n-i)+ line[0]*(i*2-1))
dengyao(line)
print()
print('其它三角形')
def qita(line):
    for i in range(1, n+1):
        if i == 1:
            print(' '*(n-i) +line[0])
        else:
            print(' '*(n-i)+ line[0]*(i*3-2))
qita(line)


请输入一个符号
*
请输入指定行数
4
直角三角形
*
**
***
****

等腰三角形
   *
  ***
 *****
*******

其它三角形
   *
  ****
 *******
**********

In [49]:
#将任务4中的英语名词单数变复数的函数,尽可能的考虑多种情况,重新进行实现。
line=str(input())
def fushu(line):
    n=len(line)
    if line[n-1]=='s' or line[n-1]=='x' or (line[n-2]=='s' and line[n-1]=='h') or (line[n-2]=='c' and line[n-1]=='h'):
        print(line,'es',sep='')
    elif (line[n-2]=='a' or line[n-2]=='e' or line[n-2]=='i' or line[n-2]=='o' or line[n-2]=='u') and line[n-1]=='y':
        print(line[0:-1],'ies',sep='')
    else:
        print(line,'s',sep='')
fushu(line)


boy
boies

In [1]:
#练习四:写函数,根据给定符号,上底、下底、高,打印各种梯形。
print('请输入一个符号')
line=str(input())
print('请输入上底')
s=int(input())
print('请输入下底')
x=int(input())
print('请输入高')
h=int(input())
print('--------------------------')
print('直角')
def zhijiao(line):
    if((x-s)//(h-1)>0):
        for i in range(0, h):
            print(line[0]*s+(i*(x-s)//(h-1))*line[0])
            i+=1
    else:
        print('无法输出直角梯形')
zhijiao(line)
print('--------------------------')
print('等腰')
def dengyao(line):
    if((x-s)//(h-1)>1 and (x-s)//(h-1)//2==0):
        for i in range(0, h):
            print(((h-i-1)*(x-s)//(h-1))*' '+line[0]*s+(i*(x-s)//(h-1)*2)*line[0])
            i+=1
    else:
        print('无法输出等腰梯形')
dengyao(line)
print('--------------------------')
print('任意')
def renyi(line):
    if(x-s)//(h-1)>2 :
        for i in range(0, h):
            print((h-i)*' '+line[0]*s+(i*(x-s)//(h-1)*2)*line[0])
            i+=1
    else:
        print('无法输出任意梯形')
renyi(line)


请输入一个符号
@
请输入上底
3
请输入下底
8
请输入高
2
--------------------------
直角
@@@
@@@@@@@@
--------------------------
等腰
无法输出等腰梯形
--------------------------
任意
  @@@
 @@@@@@@@@@@@@

In [40]:
#写函数,根据给定符号,打印各种菱形。
print('请输入一个符号')
line=str(input())
print('请输入奇数行数')
n=int(input())
print('--------------------------')
print('任意菱形')
def renyi(line):
    for i in range(1, n+1):
        if i<=(n)//2:
            print(line[0]*i)
            i+=1
        else:
            print((i+(n)//2-n)*' '+(n-i+1)*line[0])
renyi(line)
print('--------------------------')
print('特殊菱形')
def teshu(line):
     for i in range(1, n+1):
            print((line[0]+' ')*n)
teshu(line)


请输入一个符号
*
请输入奇数行数
5
--------------------------
任意菱形
*
**
***
 **
  *
--------------------------
特殊菱形
* * * * * 
* * * * * 
* * * * * 
* * * * * 
* * * * * 

In [15]:
def plalindrome(line):
    i=len(line)*2-1
    while i>0:
        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])
        i=i-1

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

if __name__ == '__main__':
    main()


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

In [ ]: