练习一:自己定义一个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)
练习二:写函数,根据给定符号和行数,打印相应直角三角形,等腰三角形及其他形式的三角形。
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)
练习三:将任务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)
练习四:写函数,根据给定符号,上底、下底、高,打印各种梯形。
In [ ]:
练习五:写函数,根据给定符号,打印各种菱形。
In [ ]:
练习六:与本小节任务基本相同,但要求打印回文字符倒三角形。
In [ ]: