我看到很多帖子都是这样的:"我想在HTML中使用按钮时,针对我的具体情况而言,这是一个特定的事情.
如果可以的话,我想在一个帖子中找到专业人士,这里:
在HTML中创建按钮时,会导致以下情况:
<a> 是最好的答案? <button> 是最好的答案? <div> 是最好的答案? <input type='button'> 是最好的答案?我正在尝试运行一个带有数字的基本提示,然后在其上运行一个递归函数。
任何负数都会导致递归错误,因为函数无法处理它们。
现在,我已经通过 Python 了解到这种情况需要“尝试/除外”模型。这是我想出的:
try:
choice = int(input('Enter a number: '))
INSERT RECURSIVE FUNCTION HERE
except RecursionError as err:
print('Error: ', str(err))
Run Code Online (Sandbox Code Playgroud)
这个异常不起作用,因为它仍然用红线显示整个递归过程,我的异常只替换了最后一行。我知道我可以通过逻辑轻松解决这个问题,例如:
if choice < 0:
print("Error: Bro, We don't take no Negative Numbers around here.")
Run Code Online (Sandbox Code Playgroud)
然而,我被告知我们通常希望避免在 Python 中“通过逻辑解决错误”,而是通过“尝试/除外”模型工作。
我该怎么做才能通过“try/except”模型而不是“if/else”来拒绝负数?
如果你能帮助我理解一种对 ValueError 做出反应的方法,那将是另一个很大的帮助。
我正在尝试简化以下内容:
if x < 0:
print('we don't do negative numbers')
else:
NORMAL CODE HERE
Run Code Online (Sandbox Code Playgroud)
我最近了解了这个assert命令,并且钦佩它将我之前的行简化为:
assert x > 0, 'errorText'
NORMAL CODE HERE
Run Code Online (Sandbox Code Playgroud)
不过,我不希望错误给予追溯.我只想要像if/else那样的单行.
有没有办法让assertionError像异常那样返回单行,或者我是否真的需要继续运行if/else的处处?
所以我试图做一个".replace"循环,但是发生了一些神秘的事情.
var cell = "r1c1";
for (i = 0; i <= 4; i++){
cell = cell.replace(cell[3],i+1);
Run Code Online (Sandbox Code Playgroud)
我的预期产量:
cell = "r1c1"
cell = "r1c2"
cell = "r1c3"
cell = "r1c4"
cell = "r1c5"
Run Code Online (Sandbox Code Playgroud)
实际输出:
cell = "r1c2"
cell = "r2c1"
cell = "r2c3"
cell = "r2c4"
cell = "r2c5"
Run Code Online (Sandbox Code Playgroud)
如您所见,它在第二次迭代时运行正常的EXCEPT.世界上我做错了什么?
所以我有一套简单的代码:
#include <stdio.h>
int main()
{
char x[3] = "ABC"; // (*)
puts(x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它返回一个奇怪的输出:
ABC¬ a
使用从上面的回答这个问题,我发现,当我改变x[3]对x[4]一切都正常运行.
但为什么?为什么我会得到一个奇怪的输出x[3],为什么x[4]还好?
我的Java教科书问我有关以下错误的信息:
switch (score)
{
case (score > 90):
grade = 'A';
break;
case (score > 80):
grade = 'B';
break;
default:
grade = 'C';
}
Run Code Online (Sandbox Code Playgroud)
我已经知道错误在哪里:
(score > 90); 那是if/else语句.但是,这让我疑惑:怎么可能一个switch语句有效地占到整数的范围是多少?
我能想到的最明显的例子如下,但我发现它相当蛮力:
switch (score)
{
case 90: case 91: case 92: case 94: case 95:
case 96: case 97: case 98: case 99: case 100:
grade = 'A';
break;
case 80: case 81: case 82: case 84: case 85:
case 86: case 87: case 88: case …Run Code Online (Sandbox Code Playgroud)