每日一题——L1-058 6翻了(15)

L1-058 6翻了

分数 15
在这里插入图片描述

“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!

本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。

输入格式:

输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。

输出格式:

从左到右扫描输入的句子:如果句子中有超过 3 个连续的 6,则将这串连续的 6 替换成 9;但如果有超过 9 个连续的 6,则将这串连续的 6 替换成 27。其他内容不受影响,原样输出。

输入样例:

it is so 666 really 6666 what else can I say 6666666666

输出样例:

it is so 666 really 9 what else can I say 27

思路

由于字符串长度不是很长,所以双循环暴力求解是可行的,所以一个循环用来找字符’6’,一个循环用来计算有多少个字符’6’

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;
    getline(cin,s);
    int i,j=0,n=s.size();
    for(i=0;i<n;i++){
        if(s[i]!='6'){
            cout<<s[i];
        }
        else{
            for(j=0;j+i<n;j++){
                if(s[j+i]!='6'){
                    break;
                }
            }
            i+=j-1;
            if(j<=3){
                while(j--){
                    cout<<'6';
                }
            }
            else if(j<=9){
                cout<<9;
            }
            else{
                cout<<27;
            }
            
        }
    }
    return 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 程序如下: input_str = input("请输入译的句子:") if "666" in input_str: output_str = input_str.replace("666", "9") output_str = output_str.replace("999", "27") print("译结果为:", output_str) else: print("输入的句子没有包含666,无需译。") ### 回答2: 首先需要明确的是,数字“666”一般用来表示惊叹、敬佩的情绪,而数字“9”和“27”则是在这个基础上进一步强调对某人或某事的无比崇拜和赞美。 为了实现这个译程序,我们可以使用 Python 编写一个简单的转换函数。具体实现如下: ```python def translate(s): num_6 = s.count("6") if num_6 == 0: return "我不知道你在说什么" elif num_6 == 1: return "一点意思都没有" elif num_6 == 2: return "还算不错吧" elif num_6 == 3: return "真心不错" elif num_6 >= 4 and num_6 <= 8: return "非常非常不错" elif num_6 >= 9: num_9 = num_6 // 6 if num_9 == 1: return "6了" elif num_9 == 2: return "双倍6了" elif num_9 >= 3: return "%d 倍6了" % num_9 ``` 这个函数的思路比较简单,首先通过 `count` 函数计算输入字符串数字“6”的个数,根据个数的不同返回不同的译结果。如果数字“6”的个数超过了8个,就认为这句话非常厉害,需要进一步转换为数字“9”或“27”的形式。这里我们采用每6个6转换一次的方法,例如“12个6”会被转换为“2个9”,“18个6”会被转换为“3个9”和“1个6”,以此类推。 接下来编写一个简单的脚本,用于测试这个函数: ```python while True: s = input("请输入一句话:") print(translate(s)) ``` 使用这个脚本,我们就可以不断输入不同的句子进行测试,看看译结果是否符合预期。例如: ``` 请输入一句话:666 真心不错 请输入一句话:666666666666666 非常非常不错 请输入一句话:6666666666666666666666666666666666666666 3 倍6了 ``` 综上所述,我们可以通过这个简单的程序,将过时的“666”表达方式转换成最新的高级表达,为网友们提供更丰富的表达方式和交流平台。 ### 回答3: 在编写程序之前,我们需要先了解一下“666”、“9”和“27”的含义。 “666”是一种赞美、崇拜的表达方式,相当于英语的“awesome”、“amazing”等词语。例如,“你画的画太棒了,666!”就是对对方画技的赞美。 “9”是“666”的升级版,表示对某人或某事的极度赞赏和敬佩。例如,“他运球太厉害了,9!”就是对他运球技术的高度评价。 “27”则是“9”的升级版,表示一种极致的赞美和无法言喻的敬仰。因为“27”是由3个“9”叠加而来,所以它的含义是三倍于“9”的赞美。例如,“你的音乐作品太震撼了,27!”则是对你的音乐才华的超级赞美。 有了这些背景知识后,我们就可以编写程序来将“666”等旧词汇译成最新的高级表达了。程序具体步骤如下: 1. 输入一个字符串,包含多个可能是数字“666”、“9”或“27”的子串。 2. 使用正则表达式或字符串查找,找出所有数字“666”、“9”或“27”的子串。 3. 对于每个找到的子串,判断它是“666”、“9”还是“27”,并分别将它们译成相应的表达方式。 4. 将译后的子串替换掉原始字符串的对应位置。 5. 输出译后的字符串。 下面是一个Python的示例代码: ``` import re def translate(text): text = re.sub(r'666', 'awesome', text) text = re.sub(r'9', 'amazing', text) text = re.sub(r'27', 'incredible', text) return text text = '他打球太厉害了,666!我简直佩服得五体投地。' text = translate(text) print(text) # 输出:'他打球太厉害了,awesome!我简直佩服得五体投地。' text = '她的歌声太美妙了,9!我感到超级激动。' text = translate(text) print(text) # 输出:'她的歌声太美妙了,amazing!我感到超级激动。' text = '你的绘画作品太惊艳了,27!我真的无语了。' text = translate(text) print(text) # 输出:'你的绘画作品太惊艳了,incredible!我真的无语了。' ``` 这个程序使用了Python的正则表达式来查找数字“666”、“9”和“27”的子串。它将找到的子串分别替换成对应的表达方式,并返回译后的字符串。 当然,这只是一个简单的示例,实际情况可能会有更复杂的情况需要考虑。例如,“666”可以用连续的6个数字来表示,所以我们可能需要更精确的正则表达式来匹配它。不过,总体来说,这个程序可以很好地完成将“666”等旧词汇译成最新的高级表达的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值