欢迎光临散文网 会员登陆 & 注册

加拿大瑞尔森大学 Python习题 Lab 4

2023-08-24 15:50 作者:逃跑的叮当猫  | 我要投稿

Lab 4 – CPS 106

 

 

This lab helps you practice recursion, string manipulation and numerical approximation.

 

1.   Assume that L is a list with one element. The element might be a number or it might be a list of one element, where that element might be a number or a list of one element, and so on. Return the innermost number. You must use recursion. Your solution cannot use a loop.

Hint: type(52) == int is True.

 

Test your program with the following:

[5]

[[55]]

[[[123]]]

[[[[[[[[[[[[18]]]]]]]]]]]]

 

2.   Assume that T is a tuple. Return a tuple which is the reverse of T. You must use recursion. Your solution cannot use a loop or a list or a built-in reverse function. Hint: Reverse the tuple starting at the second element, and concatenate to the end of that reversed tuple the first element.

 

Test your program with the following:

(1, 2, 3, 4, 5)

('red', 'green', 'blue', 'yellow')

 

3.   Assume that  sub and bigstring are strings. Return True if sub is part of bigstring, False otherwise. You must use recursion. Your  solution  cannot  use  a  string  funtion  or  the  'in operation'. Your solution cannot use a loop. Hint: check if sub is the beginning of  bigstring, and if not, consider the string obtained by removing the first letter from bigstring.

 

4.   Assume that phrase is a string. Return the number of words in  phrase. Assume that words are separated by one or more blanks. You are not allowed to use the built-in function split() For example,  countwords('The cat is black') would return 4. countwords('The cat is black') would also return 4. countwords('A whitecat and a   black cow.') would also return 7.

 

Test your program with the following:

'A  white cat and  a  black cow'

'a b c de f g h'

"Orange you glad I didn't say banana"

 

5.   Return the first value of n such that the sum

Sum = 4/1 - 4/3 + 4/5 - 4/7 + ... + 4 * (-1)**(n+1)/(2n - 1)

is within epsilon of math.pi = 3.141592653589793. For example, if epsilon is 1, then return 1, since 4 is within 1 of pi. If epsilon is 0.5 then return 2, since 4 is not within 0.5 of pi but 4 - 4/3 = 2.67, and that is within 0.5 of pi



代码:

4-2 tuple

4-3 findsub

4-3-2 findsub


加拿大瑞尔森大学 Python习题 Lab 4的评论 (共 条)

分享到微博请遵守国家法律