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)
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)
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)
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)
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)
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 [ ]: