练习一:实现reverse(s)函数,功能与s.reverse()相同。
In [20]:
def reverse(line):
print(line[::-1])
line='abcd'
reverse(line)
练习二:写函数,根据给定符号和行数,打印相应直角三角形,等腰三角形及其他形式的三角形。
In [15]:
#直角三角形
line_1='|'
line_2='\\'
line_3='_'
c=int(input('请输入这个直角三角形的边长'))
for i in range(c):
if i%1==1:
print(line_1,line_2)
elif i!=(c-1):
print(line_1+i*' '+line_2)
else:
print(line_1+line_3*i+line_2)
#等腰三角形
line_1='/'
line_2='\\'
line_3='_'
c=int(input('请输入这个等腰三角形的边长'))
print((c+1)*' ',line_1,line_2,sep='')
for i in range(c-1):
if i!=(c-2):
print((c-i-1)*' ',line_1,2*i*' ',line_2)
else:
print((c-i-1)*' ',line_1,2*i*line_3,line_2)
练习三:将任务4中的英语动词变复数的函数,完整实现。
In [5]:
def plural():
word=input('请输入一个单词')
line=list(word)
if 's'==line[len(line)-1]:
print('这个数是复数')
elif 'h'==line[len(line)-1]:
line.append('es')
line=''.join(line)
print(line)
elif 'y'==line[len(line)-1]:
line.remove('y')
line.append('ies')
line=''.join(line)
print(line)
else:
line.append('s')
line=''.join(line)
print(line)
plural()
挑战性习题:python语言老师为了激励学生学python,自费买了100个完全相同的Macbook Pro,分给三个班级,每个班级至少分5个,用穷举法计算共有多少种分法?
In [1]:
a=c=b=5
i=0
for a in range(4,91):
for b in range(4,91):
c=100-b-a
i+=1
if c<5:
continue
print('一共有',i,'种分法')
In [ ]:
In [ ]:
In [ ]: