自己定义一个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)
练习四,写函数,根据给定符号、上底、下底、高,打印各种梯形。
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)
练习五:写函数,根据给定符号,打印各种菱形。
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()
练习六:与本小节任务基本相同,但要求打印回文字符倒三角形
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)