我正在为 HTML 和 JavaScript 项目制作问答游戏。对于每个问题,玩家有 15 秒的时间来回答。我设法这样做:
<body onload="setTimeout(Timer,15000)">
Run Code Online (Sandbox Code Playgroud)
然后在 Js 中:
function Timer()
{
alert("You are out of time!");
}
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够显示玩家在<p>
标签中剩余的时间。我怎么能那样做?
我有一个字符串:
a = babababbaaaaababbbab
Run Code Online (Sandbox Code Playgroud)
它需要缩短,所以它看起来像这样:
(ba)3(b)2(a)5ba(b)3ab
Run Code Online (Sandbox Code Playgroud)
所以基本上它需要占用所有重复的字符并写下它们重复的次数而不是打印它们.我设法做了一半:
from itertools import groupby
a = 'babababbaaaaababbbab'
grouped = ["".join(grp) for patt,grp in groupby(a)]
solved = [str(len(i)) + i[0] for i in grouped if len(i) >= 2]
Run Code Online (Sandbox Code Playgroud)
但这仅适用于重复但不是模式的字符.我知道我可以通过在字符串中找到'ab'模式来做到这一点,但这对于每个可能的字符串都是可行的.有没有人遇到类似的东西?
我有一项锻炼是必须写一个使用公式计算e ^ x的递归函数。我设法做到了,但是练习表明我必须将结果存储在一个数组中,这是我碰壁的地方,这是我的代码:
double exp (double x, int n, int* fakt, double* xpot) {
static double result;
static int i;
static double *A;
A = (double *) malloc(n * sizeof(double));
if (i == n)
{
for(int k = 0; k < n; k++)
cout << A[k]; //this prints out garbage values
return result;
}
if (i != 0 || i != 1)
{
for (int j = 1; j <= i; j++)
*fakt = *fakt * j;
}
*xpot = …
Run Code Online (Sandbox Code Playgroud) 标题可能令人困惑,但我不知道如何更好地表达自己.我有一个看起来像这样的列表:
myList = ['a', 'b', 'c', 'd', 'e', 'f']
Run Code Online (Sandbox Code Playgroud)
我想要做的是一个for循环,例如,从索引3开始,所以'd'然后到达结尾,但在列表的末尾,完成的内容回到开头,经过'a' ,'b','c'然后在'd'结束.我尝试用while循环这样做:
index = 3
while index != 2:
if index == len(a):
index = 0
else:
pass
print(a[index])
index += 1
Run Code Online (Sandbox Code Playgroud)
这种方法有效,但它永远不会打印出'c',但如果我把3作为索引,循环将永远不会开始.做这样的事情有更优雅的解决方案吗?