练习一:自己定义一个reverse(s)函数,功能返回字符串s的倒序字符串。
In [11]:
def reverse(s):
for i in range(0,len(s)):
j=len(s)-i-1
print (s[j])
def main():
text = '赏花归去马如飞'
reverse(text)
main()
练习二:写函数,根据给定符号和行数,打印相应直角三角形,等腰三角形及其他形式的三角形。
In [32]:
def tri1(m,n):
for i in range(0, n):
for j in range(0,n-i):
print(' ',end='')
for k in range(0,2*i-1):
print (m,end='')
print()
def tri2(m,n):
for i in range(1,n+1):
for j in range(1,i+1):
print (m, end=' ')
print()
def main():
sym='*'
n=int(input('plz input line num: '))
tri1(sym,n)
print()
tri2(sym,n)
main()
练习三:将任务4中的英语名词单数变复数的函数,尽可能的考虑多种情况,重新进行实现。
In [1]:
def plur(s):
l=len(s)
if (s.endswith('o') or s.endswith('ch') or s.endswith('sh') ):
print (s[0:l-1],end='')
print ('es')
else:
print (s[0:l],end='')
print ('s')
def main():
s='st'
while(s != 'q'):
s=str(input('plz input a word: '))
plur(s)
main()
练习四:写函数,根据给定符号,上底、下底、高,打印各种梯形。
In [9]:
def trap(a,b,h):
x=(b-a)//h
for i in range(0,h):
for j in range(0,a):
print ('*',end='')
a+=x
print()
def main():
a=int(input('plz input upper line: '))
b=int(input('plz input lower line: '))
h=int(input('plz input height: '))
trap(a,b,h)
main()
练习五:写函数,根据给定符号,打印各种菱形。
In [18]:
def tri(m,n):
for i in range(0, n):
for j in range(0,n-i):
print(' ',end='')
for k in range(0,2*i-1):
print (m,end='')
print()
for i in range(n,0,-1):
for j in range(0,n-i):
print(' ',end='')
for k in range(0,2*i-1):
print (m,end='')
print()
def main():
sym='*'
n=int(input('plz input line num: '))
tri(sym,n)
print()
main()
练习六:与本小节任务基本相同,但要求打印回文字符倒三角形。
In [20]:
def plalindrome(line):
for i in range( len(line)*2,1,-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)
main()