Bertie 的网页

Bertie的学余杂谈


附加练习答案 更新时间:2018年09月21日12时18分34秒

附加练习答案 点击下载


附加练习 更新时间:2018年09月20日21时41分54秒

附加练习 1. 字数统计 编写函数wordcount(text)实现对于输入字符串的词数统计。 要求:输入字符串text,以所有非英文字母(除去'和-)为单词的分隔符制作分割后的单词列表并统计单词个数。 2. 列表拉直 编写函数flatlist(list_)将嵌套列表中所有的元素置入一个列表中。 如:将[1,3,[3,[4,5,[6],[[],{1:2}],3],(0,1),2]]拉直成为[1,3,3,4,5,6,{1:2},3,(0,1),2]。 要求:尝试分别使用列表方法与字符串方法实现这一点。进一步尝试拉直所有迭代对象。 3. 凯撒密码 编写函数caesar(str_)实现平移$k$位的凯撒密码加密(即将每个字母按照字母表替换为$k$个位置之后的字母),保持字母大小写不变,非英文字母不改变。 如:It is coming!将变为Lw lv frplqj!。 4. 函数绘图 编写函数plot(f[, width, height, xlim, ylim, xlabel, ylabel])用*实现函数$f$图线的绘制,要求绘制出来的图片占有$height\times width$个字符空间,绘制定义域、值域范围xlim, ylim可以由用户输入。、 例如:cos(x)在[-1, 1]间的图像如下图所示。 [图片] 5. 寻找第k大数 编写函数kmax(array[, k])寻找输入序列中第$k$大的数,尝试不使用排序以$O(n)$的算法复杂度完成这项任务。 提示:可以尝试类似于快速排序大小分开的方式二分处理。 6. 有理数类 编写一个有理数类rational(对象),实现以下功能: - 分布保存整型数分子与分母 - 始终保持分数为既约分数 - 使用函数或字符串显示函数重载格式化显示分数 - 实现加、减、乘、除(可以使用运算符重载) - 构造函数能够做到对格式化字符串和数值的强制类型转换 提示: 以下函数GCD使用欧拉算法返回两个输入整数的最大公约数。 python def GCD(a, b): while b > 0: c = b b =


C语言转python练习 更新时间:2018年09月20日20时50分19秒

练习 赋值 c int a=1; python 数组和指针 c char* s[10]; python 循环 c int main() { int i, a[10]; for(i = 0; i < 10; ++i) a[i] = i * i; return 0; } python 格式化输出 c include int main() { int x = 0, y = 2; printf("%d, %d\n", x, y); return 0; } python 输入和判断 c include int main() { int a; scanf("%d", &a); if(a > 10) printf("too big"); else if(a < 0) printf("too small"); else printf("fine"); return 0; } python 选择 c include int main() { int a; scanf("%d", &a); switch(a) { case 1: printf("hi\n"); break; case 2: printf("bye\n"); break; default: printf("go\n"); } return 0; } python 库和数字格式 c include include double mcos(double x) {return cos(x);} int main() { int a;


C语言转python练习答案 更新时间:2018年09月20日20时49分53秒

练习答案 赋值 c int a=1; python a = 1 数组和指针 c char* s[10]; python s = [''] * 10 循环 c int main() { int i, a[10]; for(i = 0; i < 10; ++i) a[i] = i * i; return 0; } python def main(): a = [0] * 10 for i in range(10): a[i] = i * i if name == "main": main() OR def main(): a = [i 2 for i in range(10)] if name == "main": main() 格式化输出 c include int main() { int x = 0, y = 2; printf("%d, %d\n", x, y); return 0; } python def main(): x = 0; y = 2 print("%d, %d"%(x, y)) if name == "main": main() OR def main(): print("{x}, {y}".format(x=0, y=2)) if name == "main": main() 输入和判断 c include int main() { int a; scanf("%d", &a); if(a > 10) printf("too big"); else if(a 10: print("too big", end='') elif a < 0: print("too small", end