一、编程题
1、实现统计字符串中的单词和单词出现的次数:
要求:
(1)统计的语句为:to be or not to be that is a question
(2)要求统计该句中出现的所有单词和其出现次数。
(3)使用字典进行输出,格式如下(注意:排列顺序可以不一致,但是统计的次数要正确):
{'to': 2, 'be': 2, 'or': 1, 'not': 1, 'is': 1, 'a': 1, 'question': 1, 'that': 1}
参考答案:
略
解析:【喵呜刷题小喵解析】首先,我们定义了一个函数`count_words`,它接受一个字符串作为参数,并返回一个字典,其中包含了字符串中每个单词及其出现的次数。在函数内部,我们首先使用`split()`方法将字符串拆分成单词列表。然后,我们初始化一个空字典`word_count`,用于存储每个单词及其出现的次数。接下来,我们遍历单词列表,对于每个单词,如果它已经在`word_count`字典中,我们就将其对应的次数加1;如果它不在`word_count`字典中,我们就将其添加到字典中,并将其对应的次数设置为1。最后,我们调用`count_words`函数,将给定的句子作为参数传入,并将返回的结果打印出来。运行上述代码,将输出:`{'to': 2, 'be': 2, 'or': 1, 'not': 1, 'is': 1, 'a': 1, 'question': 1, 'that': 1}`,即每个单词及其出现的次数。
2、可以对任何一个自然数进行若干次运算,最终都可以变为1。
运算规则如下:
(1)若该数是偶数,则变为原数的一半;
(2)若该数是奇数,则变为原数的3倍加1;
(3)重复(1)(2),直到该数变为1。
编写程序实现如下功能:输入一个大于1的自然数,计算按照上述方法最终变换为1共经过的变换次数,并输出变换次数。(输出格式为:直接输出次数即可)
示例1:若输入自然数8,则输出结果为:3。
示例2:若输入自然数5,则输出结果为:5。
参考答案:
略
解析:【喵呜刷题小喵解析】:本题是一道经典的数学问题,称为“Collatz猜想”,它提出了一个问题:对任何正整数,重复进行如下运算:1. 如果是偶数,则除以2;2. 如果是奇数,则乘以3再加1。那么,经过有限次运算,最终会得到1。在这个问题中,我们需要编写一个程序,输入一个大于1的自然数,然后按照上述规则进行运算,直到结果为1,并输出运算的次数。我们可以使用Python编程语言来实现这个问题。首先,我们需要定义一个函数`count_transforms`,它接受一个正整数`n`作为输入,然后按照上述规则进行运算,直到结果为1,并返回运算的次数。在函数中,我们使用一个循环来重复进行运算,直到结果为1。在每次循环中,我们检查`n`是否为偶数,如果是,则将其除以2;否则,我们将其乘以3再加1。在每次运算后,我们将计数器`count`加1。最后,我们调用`count_transforms`函数,并输出结果。在程序中,我们首先使用`input`函数从用户那里获取一个大于1的自然数,并将其转换为整数类型。然后,我们调用`count_transforms`函数,并将结果打印到屏幕上。需要注意的是,由于Collatz猜想尚未被证明,因此我们的程序只能保证对于输入的每一个正整数,最终都会得到1,但无法保证在有限次运算内一定可以得到1。因此,在实际应用中,我们需要对程序进行充分的测试,以确保其正确性。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!