挑战 - 数据类型
若要在实际中运用你在本模块中学到的各项知识,可完成我们为你准备的一些编码挑战。 这些挑战并不复杂,我们会向你每项挑战的解决方案。 请先试着自己解决,然后将你的解决方案与我们的进行比较。 如果不记得具体内容,可随时返回复习。
编写一个程序来计算斐波纳契数列
在这第一个挑战中,你将编写一个程序来计算某个数字的斐波纳契数列。 你将编写一个函数来返回一个包含按斐波纳契数列排列的所有数字的切片。 该数列是根据用户输入的数字进行计算的结果。 输入数字必须大于 2。 让我们假设小于 2
的数字会导致错误,并返回一个 nil 切片。
请记住,斐波那契数列是一个数字列表,其中每个数字是前两个斐波那契数字之和。 例如,数字 6
的序列是 1,1,2,3,5,8
,数字 7
的序列是 1,1,2,3,5,8,13
,数字 8
的序列是 1,1,2,3,5,8,13,21
,以此类推。
创建罗马数字转换器
编写一个程序来转换罗马数字(例如将 MCLX
转换成 1,160
)。 使用映射加载要用于将字符串字符转换为数字的基本罗马数字。 例如,M
将是映射中的键,其值将为 1000
。 使用以下字符串字符映射表列表:
M
=> 1000D
=> 500C
=> 100L
=> 50X
=> 10V
=> 5I
=> 1
如果用户输入的字母与上述列表中的不同,则打印一个错误。
请记住在有些情况下,较小的数字会排在较大的数字前面,因此不能仅仅将数字相加。 例如,数字 MCM
应打印为 1,900
。