In [3]:
line = '赏花归去马如飞'
for i in range(1, len(line)*2):
if i == 1:
print((len(line)*2-i)*' '+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])
In [13]:
def plalindrome(line):
for i in range(1, len(line)*2):
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 [9]:
#自己定义一个reverse(s)函数,功能返回字符串s的倒序字符串。
def reverse(s):
s.reverse()
return s
s=[1,2,3]
reverse(s)
print(s)
In [19]:
#写函数,根据给定符号和行数,打印相应直角三角形,等腰三角形及其他形式的三角形。
def right triangle(i):
for number in i:
print(i* '@')
def isosceles triangle(i):
for i in range(1, len(line)*2):
print(' '*(i*2-i) + '@'* i)
i=int(input('输入你想要的行数'))
right triangle(i)
isosceles triangle(i)
In [20]:
#将任务4中的英语名词单数变复数的函数,尽可能的考虑多种情况,重新进行实现。
line=input('plz input a word')
if line.endswith('x')or line.endswith('ch') or line.endswith('sh') or line.endswith('o'):
print(line[:len(line)]+'es')
elif line.endswith('y'):
print(line[:len(line)-1]+'ies')
else:
print(line[:len(line)]+'s')
In [3]:
#写函数,根据给定符号,上底、下底、高,打印各种梯形。
def trapezoid(s,x,h):
if s+h==x:
for i in h:
print('@'*s)
s=s+1
else:
for i in h-1:
print(' '*((x-s)/2)+'@'*n)
n=n+add
print('@'*x)
s=int(input('输入你想要的上底 '))
x=int(input('输入你想要的下底'))
h=int(input('输入你想要的高'))
i=1
n=s
add=int((s-x)/h)
trapezoid(s,x,h)
In [45]:
#写函数,根据给定符号,打印各种菱形。
def plalindrome1(line):
for i in range(1, len(line)*2):
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]+'*'*(i-1))
else:
print(' '*(len(line)*2-i) + line[:i//2] + line[i//2-1::-1]+'*'*(i-1))
def plalindrome2(line):
for i in range(1, len(line)*2-1):
if i%2 == 0:
print(' '*i + line[:len(line)-(i//2)] +line[len(line)-(i//2)-1::-1]+'*'*(13-i))
else :
print(' '*i + line[:len(line)-((i//2)+1)] +line[len(line)-(i//2)-1::-1]+'*'*(13-i))
print(' '*(len(line)*2-1) + line[0] )
text1 = '*******'
text2 = '*******'
plalindrome1(text1)
plalindrome2(text2)
In [36]:
#与本小节任务基本相同,但要求打印回文字符倒三角形。
def plalindrome(line):
for i in range(1, len(line)*2-1):
if i%2 == 0:
print(' '*i + line[:len(line)-(i//2)] +line[len(line)-(i//2)-1::-1])
else :
print(' '*i + line[:len(line)-((i//2)+1)] +line[len(line)-(i//2)-1::-1])
print(' '*(len(line)*2-1) + line[0] )
def main():
text = '赏花归去马如飞'
plalindrome(text)
if __name__ == '__main__':
main()
In [18]: