day-1.python初学者练手题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day-1.python初学者练手题相关的知识,希望对你有一定的参考价值。
1.编写一个名为right_justify
的函数,函数接受一个名为``s``的字符串作为形参, 并在打印足够多的前导空格(leading space)之后打印这个字符串,使得字符串的最后一个字母位于显示屏的第70列。
def right_justify(s): length = len(s) lspace = 70 - length so = ‘ ‘ * lspace + s print(so) right_justify(‘dean‘)
2.函数对象是一个可以赋值给变量的值,也可以作为实参传递。例如, do_twice
函数接受函数对象作为实参,并调用这个函数对象两次:
def do_twice(f):
f()
f()
下面这个示例使用do_twice
来调用名为print_spam
的函数两次。
def print_spam():
print(‘spam‘)
do_twice(print_spam)
- 将这个示例写入脚本,并测试。
- 修改
do_twice
,使其接受两个实参,一个是函数对象,另一个是值。 然后调用这一函数对象两次,将那个值传递给函数对象作为实参。 - 从本章前面一些的示例中,将
print_twice
函数的定义复制到脚本中。 - 使用修改过的
do_twice
,调用print_twice
两次,将‘spam‘
传递给它作为实参。 - 定义一个名为
do_four
的新函数,其接受一个函数对象和一个值作为实参。 调用这个函数对象四次,将那个值作为形参传递给它。 函数体中应该只有两条语句,而不是四条。1def do_twice(f, g): 2 f(g) 3 f(g) 4 5 6 def print_twice(g): 7 print(g) 8 print(g) 9 10 11 def do_four(f, g): 12 # for i in range(4): 13 # f(g) 14 do_twice(f, g) 15 do_twice(f, g) 16 17 18 do_twice(print_twice, ‘spam‘) 19 print(‘‘) 20 21 do_four(print_twice, ‘spam‘)
3.编写一个能画出如下网格(grid)的函数
-
+ - - - - + - - - - + | | | | | | | | | | | | + - - - - + - - - - + | | | | | | | | | | | | + - - - - + - - - - +
- 提示:你可以使用一个用逗号分隔的值序列,在一行中打印出多个值:
-
print(‘+‘, ‘-‘)
-
print
函数默认会自动换行,但是你可以阻止这个行为,只需要像下面这样将行结尾变成一个空格: -
print(‘+‘, end=‘ ‘) print(‘-‘)
-
1 def do_twice(f): 2 f() 3 f() 4 5 6 def do_four(f): 7 do_twice(f) 8 do_twice(f) 9 10 11 def print_beam(): 12 print(‘+ - - - -‘, end=‘ ‘) 13 14 15 def print_post(): 16 print(‘| ‘, end=‘ ‘) 17 18 19 def print_beams(): 20 do_twice(print_beam) 21 print(‘+‘) 22 23 24 def print_posts(): 25 do_twice(print_post) 26 print(‘|‘) 27 28 29 def print_row(): 30 print_beams() 31 do_four(print_posts) 32 33 34 def print_grid(): 35 do_twice(print_row) 36 print_beams() 37 38 39 print_grid()
以上是关于day-1.python初学者练手题的主要内容,如果未能解决你的问题,请参考以下文章
如何将片段中的 ListView 对象的数据传递给 Activity?