任务是在字符串 (CDCDCDFFCDFFFCD) 中找到一个字符序列,该序列恰好包含两个子字符串“CD”,我不明白正则表达式语法如何工作
print(re.findall('(СD)+', s))
这段代码打印出“CD”,尽管上面这一行“CD”连续重复了3次,并且括号似乎将其中的内容统一起来。
如何使用正则表达式中的字符序列?
任务是在字符串 (CDCDCDFFCDFFFCD) 中找到一个字符序列,该序列恰好包含两个子字符串“CD”,我不明白正则表达式语法如何工作
print(re.findall('(СD)+', s))
这段代码打印出“CD”,尽管上面这一行“CD”连续重复了3次,并且括号似乎将其中的内容统一起来。
如何使用正则表达式中的字符序列?
我无法正确解决计算机科学统一国家考试中的问题,老师们拒绝帮助,我不明白为什么解决方案是错误的,我将在下面给出我的代码和问题陈述,请解释我错在哪里,提前谢谢! (与 KompEGE 一起完成的任务,我将文件附加到下面的任务中)
#17685 重拍 04.07.24(等级:棺材)
文本文件由十进制数字、“+”和“*”符号(加法和乘法)组成。确定连续序列中的最大字符数,该序列是具有非负整数(无符号)的有效算术表达式,其值为零。在这个表达式中,没有两个算术运算符号彼此相邻;运算顺序由数学规则决定。数字符号中没有不重要的(前导)零。 24.txt
答案 169
请注明您答案的字符数。
s = open("24_17641.txt").read()
while "**" in s or "++" in s or "*+" in s or "+*" in s:
if "**" in s:
s = s.replace("**", "* *")
if "++" in s:
s = s.replace("++", "+ +")
if "*+" in s:
s = s.replace("*+", "* +")
if "+*" in s:
s = s.replace("+*", "+ *")
s = s.split()
print(s)
a = [i[1:-1] for i in s if i != "+" and i != "*"]
a = a[1:-1]
mx = 0
for i in a:
if eval(i) == 0:
mx = max(mx, len(i))
print(mx)
编写的程序意味着检查输入是否符合 int 类型,但如果存在“错误”输入,循环将无休止地旋转,并且不允许您输入新值,您能解释一下我的程序的行为吗?告诉我如何处理我的,以便它正常工作。 (问题被纠正了好几次,我不知道如何正确表述)
#include <iostream>
#include <vector>
const int arr_size = 5;
using namespace std;
void fill_array(int arr[], int size);
void show_array(const int arr[], int size);
void revalue_array(int arr[], int size, float koef);
int main(void)
{
int arri[5];
fill_array(arri, arr_size);
return 0;
}
void fill_array(int arr[], int size)
{
int cost;
for (int i = 0; i < size; i++)
{
cout << "Enter " << i + 1<< "st" << " cost: ";
while (!(cin >> cost))
{
cin.clear();
cout << "Bad input, please, enter a numder: ";
cin >> cost;
cout << endl;
cout << cost << endl;
}
}
}