In [2]:
#练习一:自己定义一个reverse(s)函数,功能返回字符串s的倒序字符串。
def reverse():
x = []
s = [9,8,7,6,5,4,3,2,1,0]
for i in range(len(s)-1,-1,-1):
x.append(s[i])
return(x)
y = reverse()
print(y)
In [1]:
#练习二:写函数,根据给定符号和行数,打印相应直角三角形,等腰三角形及其他形式的三角形。
def pattern(pat):
for i in range(1,len(pat)):
for j in range(1,i+1):
print(pat[0],' ',end = '')
print()
print("-"*30)
for i in range(1,len(pat)-1):
for j in range(len(pat)-1-i,0,-1):
print(' ',end = '')
for k in range(1,2*i):
print(pat[0],end = '')
print()
print("-"*30)
for i in range(1,len(pat)+1):
for j in range(len(pat)-i,0,-1):
print(' ',end = '')
for k in range(1,i+1):
print(pat[0],' ',end = '')
print()
def main():
text = "******"
pattern(text)
if __name__ == '__main__':
main()
In [3]:
#练习三:将任务4中的英语动词单数变复数的函数,尽可能的考虑多种情况,重新进行实现。
def plur():
sp = input("请输入一个英语动词的单数形式,以回车结束:")
x1 = ['o','x','s','sh','ch']
x2 = ['by','cy','dy','fy','gy','jy','ky','ly','my','my','py','qy','ry','sy','ty','vy','wy','xy','yy','zy']
while sp:
if sp[-1] in x1:
print(sp + 'es')
elif sp[-2:] in x1:
print(sp + 'es')
else:
if sp[-2:] in x2:
print(sp[:-1] + 'es')
else:
print(sp +'s')
sp = input("请输入一个英语动词的单数形式,以回车结束:")
plur()
In [16]:
#练习四:写函数,根据给定符号,上底、下底、高,打印各种梯形。
symbol = "*"
def shape():
x= int(input("请输入要打印的梯形的s底,以回车结束:"))
y= int(input("请输入要打印的梯形的x底,以回车结束:"))
z = int(input("请输入要打印的梯形的高,以回车结束:"))
for i in range(1,z+1):
for k in range(1,i+x):
print("*",end='')
#for j in range(z-i,0,-1):
print('\n')
shape()
In [3]:
#练习五:写函数,根据给定符号,打印各种菱形。
def shape():
s = "*"
for i in range(1,8,2):
print((s*i).center(7))
for i in reversed(range(1,6,2)):
print((s*i).center(7))
print()
shape()
In [21]:
#练习六:与本小节任务基本相同,但要求打印回文字符倒三角形。
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])
def main():
text = '赏花归去马如飞'
plalindrome(text)
if __name__ == '__main__':
main()
In [17]:
line = "赏花归去马如飞"
for i in range(1,15):
if i%2 == 1:
print(line[:7-i//2],end = '')
print(line[:7-i//2][-1::-1])
else:
print(line[:7-int((i)/2)+1],end = '')
print(line[:7-int((i)/2)+1][-2::-1])
In [ ]: