7 条题解

  • 4
    @ 2023-8-20 20:19:13

    又来摸鱼了👀️(python)

    a = input().split()
    b = input()
    s = 1
    a[len(a) - 1] = a[len(a) - 1][:len(a[len(a) - 1]) - 1]
    for i in range(len(a)):
        if a[i] == b:
            print(i + 1)
            s = 0
            break
    if s == 1:
        for j in a:
            s += len(j)
    if s != 0:
        print(s)
    

    已AC

    • 4
      @ 2023-6-29 9:24:40

      C++选手表示不服

      那只能我上了。

      #include <bits/stdc++.h>
      using namespace std;
      map<string,int> m;//STL大法好!
      string s,k;
      int cnt,siz;
      int main(){
          while (cin>>s&&s[s.size()-1]!='.'){
              if (!m[s]){
                  m[s]=++cnt;
              }
              siz+=s.size();
          }
          siz+=s.size();
          for (int i=0;i<s.size()-1;i++){//注意末尾的句号不能算!
              k+=s[i];
          }
          m[k]=++cnt;
          cin>>s;
          cout<<(m[s]?m[s]:siz-1);//同上,去除句号
          return 0;
      }
      
      • 3
        @ 2023-7-7 10:50:56
        #include <iostream>
        #include <string>
        #include <cmath>
        using namespace std;
        int main()
        {
        	string str1;
        	string str2;
        	int num1 = 0;
        	int word_number = 1;
        	int nearest = 9999;
        	int num2 = 0;//记录空格个数
        	getline(cin, str1);
        	getline(cin, str2);//这两个用来接收字符串
        	str2 = " " + str2 ;//最重点!!在前面添加空格证明是单词,不然this中的is会被误判
        	int a = str1.find(str2);//找到匹配的位置
        	if (a >= 0)
        	{
        		for (int i = 0; i < str1.size(); i++)
        		{
        			if (str1[i] == ' ')
        			{
        				num2++;
        				if (abs(i - a) < nearest)
        				{
        					nearest = abs(i - a);//空格离单词最近
        					if (nearest == 0)
        					{
        						break;//0就是最近,不可能更小,直接break跳出循环
        					}
        				}
        			}
        		}
        		cout << num2 + 1;//单词是空格个数的下一个,所以加一
        	}
        	else if (a < 0)
        	{
        		for (int i = 0; i < str1.size(); i++)
        		{
        			if ((str1[i] > 64 && str1[i] < 91) || (str1[i] > 96 && str1[i] < 123))//ASCII码中字母对应的值
        			{
        				num1++;
        			}
        		}
        		cout << num1;
        	}
        	return 0;
        }
        
        • 1
          @ 2024-1-28 13:09:45

          信我的,已AC

          print(3)
          
          • 1
            @ 2023-6-27 16:31:22

            原来这么多会python的

            • 1
              @ 2023-4-22 9:34:03
              a = input()
              b = input()
              c = 0
              a = a.rstrip('.')
              a = a.split()
              pop = -1
              for i in range(len(a)):
                  if b == a[i]:
                      pop = i + 1
                      print(pop)
                      break
                  c += len(a[i])
              if pop == -1:
                  print(c)
              
              • 1
                @ 2022-11-9 19:54:45

                嗨害嗨,我又来了。 今天讲讲P4[ 我是第几个单词]


                思路
                '''1.分割字符串(' ')
                2.判断:要找的单词在不在序列中?
                (2.1)在:打印索引+1(Python 3的奇葩方式:位置=索引+1)
                (2.2)不在:遍历列表,算出索引的长度(字符串)
                '''
                

                代码
                #(1)
                a=input()
                a=a.rstrip('.')
                #防止把'.'也算进去,rstrip用于除去字符串右边的指定字符
                a=a.split()#分割字符串
                b=input()
                if b in a:#(2.1)
                    print(a.index(b)+1)#python 3的坑爹行为。
                else:#(2.2)
                    s=0
                    for i in a:
                        s+=len(i)
                    print(s)
                

                Loading:15/100……

                • 1

                信息

                ID
                4
                时间
                1000ms
                内存
                16MiB
                难度
                3
                标签
                递交数
                197
                已通过
                109
                上传者