数据结构与算法python语言实现答案_数据结构与算法 Python语言实现 第一章练习...

说明:部分代码参考了Harrytsz的文章:https://blog.csdn.net/Harrytsz/article/details/86645857,如果大家阅读时有更好的解法,欢迎沟通交流,共同进步!

巩固

R-1.1 编写一个Python函数 is_multiple(n, m),用来接收两个整数值 n 和 m,如果 n 是 m 的倍数,即存在整数 i 使得 n = mi,那么函数返回 True,否则返回 False.

R-1.2 编写一个Python函数 is_even(k),用来接收一个整数 k,如果 k 是偶数返回 True,否则返回 False。但是,函数中不能使用乘法、除法或取余操作.

R-1.3 编写一个Python函数 minmax(data),用来在数的序列中找出最小数和最大数,并以一个长度为 2 的元组的形式返回。注意:不能通过内置函数 min 和 max 来实现。

R-1.4 编写一个Python函数,用来接收正整数 n,返回 1 ~ n 的平方和。

R-1.5 基于Python的解析语法和内置函数 sum,写一个单独的命令来计算练习R-1.4中的和。

R-1.6 编写一个Python函数,用来接收正整数n,并返回 1 ~ n 中所有的奇数的平方和。

R-1.7 基于Python的解析语法和内置函数 sum,写一个单独的命令来计算练习R-1.6中的和。

R-1.8 Python 允许负整数作为序列的索引值,如一个长度为 n 的字符串 s,当索引值 -n ≤≤ k < 0 时,所指的元素为 s[k],那么求一个正整数索引值 j ⩾⩾ 0,使得 s[j] 指向的也是相同的元素。

R-1.9 要生成一个值为 50, 60, 70, 80 的排列,求 range构造函数的参数.

R-1.10 要生成一个值为 8, 6, 4, 2, 0, -2, -4, -6, -8 的排列,求 range 构造函数中的参数。

R-1.11 演示怎样使用 Python 列表解析语法来产生列表 [1, 2, 4, 8, 16, 32, 64, 128, 256].

R-1.12 Python 的 random 模块包括一个函数 choice(data),可以从一个非空序列返回一个随机元素。Random模块还包含一个更基本的 randrange 函数,参数化类似于内置的 range 函数,可以在给定范围内返回一个随机数。只使用 randrange 函数,实现自己的 choice 函数。

ContractedBlock.gif

ExpandedBlockStart.gif

1 #R-1.1

2 defis_multiple(n: int, m: int):3 quotient = n /m4 remainder = n %m5 if quotient > 1 and remainder ==0:6 returnTrue7 else:8 returnFalse9

10

11 #更优解

12 defis_multiple(n, m):13 return n % m ==014

15

16 print(is_multiple(4, 2))17

18

19 #R-1.2

20 defis_even(k: int):21 i =022 while i

<

ContractedBlock.gif

ExpandedBlockStart.gif

1499914-20200115210333938-1282115752.png

ContractedBlock.gif

ExpandedBlockStart.gif

<

<<

<