8: 混合

这节课由几个练习组成。这些练习结合了你在之前的课程中学到的不同的技能。

编程练习: Python加法计算器
编写一个程序,输入为以«number1»+«number2»为格式的一行,两个数字都是代表正整数,输出两个数的和。比如,输入是5+12,那么输出就应该是17提示 1提示 2

编程练习: 数子链
在7A里面提到过,一个子链是一个字符串中连续的字符。在一个字符串里面可能会有多个相同的子链:比如"assesses"中"sses"出现了2 次,"trans-Panamanian banana"中"an"出现了6次。编写一个程序,输入两行,第一行名为needle,第二行名为haystack。打印出needle出现的次数,作为haystack的子链。提示

在下面的问题中,一旦你做对了,我们会通过使用*以图表的形式展示出输出。

编程练习: 观察钟摆
在物理学中,对于一个长为L,起始角度为A的钟摆来说,在T时刻的水平偏离X(T)为

X(T) = L × cos(A × cos(T × √9.8/L)) - L × cos(A)

编写一个程序,需要两行输入;第一行是L,第二行是A。输出X(0), X(1), X(2), ..., X(9)的结果,每行一个。比如,如果第一行的输入是53.1,第二行的输入是0.8,那么第一行输出是0.0,第二行输出是53.1*cos(0.8*cos(1*√9.8/53.1)) - 53.1*cos(0.8) ~ 2.6689

编程练习: 居中文字
对于这个程序,第一行输入是一个整数width。接着是一些文本;有"END"的一行表明文本的结束。对于每一行文本,你需要打印出居中格式,通过在其左侧和右侧添加..,使得每一行文本的总长度是width。(所有输入行的长度不超过width)。居中意味着左边和右边的点数应该一致(如果可能的话);如果必要,允许左边比右边多一个点。比如说,对于输入

13
Text
in
the
middle!
END
正确的输出就应该是

.....Text....
......in.....
.....the.....
...middle!...
提示

编程练习: 结束时间
这个程序需要两行输入。第一行是"起始时间",是以24小时制表示的,例如08:3014:07。第二行是时长D,以分钟计。以起始时间算起,打印出D分钟后的时间。比如,如果输入是

12:30
47
那么正确的输出就应该是13:17。所有的时间都应该在00:00和23:59之间,但是时间可能经过零点。比如,如果输入是

23:59
13
那么正确的输出就应该是00:12。提示:#1 #2

编程练习: 字符映射表
几节课前我们提到了以下的图:

chr:      !   "   #   $   %   &   '   (   )   *   +   ,   -   .   / 
asc: 32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47 
chr:  0   1   2   3   4   5   6   7   8   9   :   ;   <   =   >   ? 
asc: 48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63 
chr:  @   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O 
asc: 64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79 
chr:  P   Q   R   S   T   U   V   W   X   Y   Z   [   \   ]   ^   _ 
asc: 80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95 
chr:  `   a   b   c   d   e   f   g   h   i   j   k   l   m   n   o 
asc: 96  97  98  99  100 101 102 103 104 105 106 107 108 109 110 111
chr:  p   q   r   s   t   u   v   w   x   y   z   {   |   }   ~     
asc: 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 
编写一个程序,打印出这个表格。(打分机器会忽略每一行最后的空格)。