寻找字符串中连续数字(全部都是1位数)之和为k的子串,如字符串“20210521”中和为6的子串为“105”。实现该功能的程序段如下,请完善程序:
s=input(“请输入数字字符串“)
i=0;j=0;k=6;sum=0
while j<len(s):
①ch1=s[j]ch1=s[j]
sum=sum+int(ch1)
while sum>k:
ch2=s[i]
②sum=sum-int(ch2)sum=sum-int(ch2)
i=i+1
if sum==k:
print(“子串为:“,③print(s[i:j+1])print(s[i:j+1]))
break
j=j+1
else:
print(“没有满足要求的子串。“)
【考点】循环语句.
【答案】ch1=s[j];sum=sum-int(ch2);print(s[i:j+1])
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/4/20 14:35:0组卷:3引用:1难度:0.3
相似题
-
1.执行下面程序段后,变量a的值为( )
For i=1 To 3
For j=1 To i
For k=j To 3
a=a+1
Next k
Next j
Next i发布:2025/1/2 12:0:1组卷:0引用:0难度:0.5 -
2.现有5项工作分给5人完成,每人只能从事一项,每项只能由一人完成。每人完成各项工作效益如图a所示,如何分配工作使总效益值最高?
算法思路:用5位各不相同的5进制数表示一种不同的分配方案,如42301表示A从事4号工作,B从事2号工作……,据此可求出本方案的效益。枚举所有可能的合法方案,求出效益值最大的方案。
小周同学帮忙设计了如下Python程序,运行界面如图b所示,请回答下列问题:
(1)若有3个人完成3项工作的效益值为[[5,7,4],[4,6,3],[6,2,5]],则总效益最大值为
(2)为实现上述功能,请在横线处填入合适的代码发布:2025/1/2 12:0:1组卷:0引用:1难度:0.3 -
3.用VB编写程序:求满足不等式“22+42+62+......+n2<1500”中n的最大值。VB程序如下所示,则横线处应填写的语句为
Dim s As Integer,i As Integer
i=2
s=i*i
Do While s<1500
______
s=s+i*i
Loop
i=i-2
Print i发布:2025/1/2 12:0:1组卷:0引用:1难度:0.5