根据我的书输入5和6.5进入此功能应该返回73.6901.我一直得到72.6901.我知道公式是完美的,我无法想象它还能是什么.浮点数是否存在一定程度的不准确性,可能导致此逻辑错误?
import math
def area(n, side):
area= (n * (side * side))/(
4 * math.tan(math.pi/n))
return area
def main():
sideNumber = int(input("Enter the number of sides :"))
sideLength = float(input("Enter the side: "))
print("The area of the polygon is %f" %(area(sideNumber, sideLength)))
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud) 我有一个字符串,其中有一些我需要从中提取的值.例如:"FEFEWFSTARTFFFPENDDCDC".我怎么能做一个从"START"一路走到哪一步的表达式"END"?
我之前通过创建使用for循环和string.find("START")定位开头和结尾的函数来尝试这样做,但这似乎没有效果,看起来过于复杂.没有使用复杂的循环,有没有更简单的方法来做到这一点?
编辑:
忘了这部分.如果有不同的结束值怎么办?换句话说,而不是只与结束"END",价值观"DONE"和"NOMORE"也将结束了吗?除此之外,整个字符串中有多个开始和结束.例如:"STARTFFEFFDONEFEWFSTARTFEFFENDDDW".
EDIT2:样品运行:起始值:ATG.结束值:TAG,TAA,TGA
"Enter a string": TTATGTTTTAAGGATGGGGCGTTAGTT
TTT
GGGCGT
Run Code Online (Sandbox Code Playgroud)
和
"Enter a string": TGTGTGTATAT
"No string found"
Run Code Online (Sandbox Code Playgroud) 我的用户必须输入电话号码.如果用户在引号中输入数字,我的代码工作正常,但如果用户输入它而没有引号,那么Python将使用算术计算输入的数字,接受破折号( - )作为减法符号.我该如何解决?
码
str(input("enter a phone number please"))
Run Code Online (Sandbox Code Playgroud)
结果
输入电话号码:387-888-8992'-9493'
预期结果
enter a phone number please387-888-8992
>>>'387-888-8992'
Run Code Online (Sandbox Code Playgroud) 我有一个清单:
nums = [1, 2, 3, 1, 5, 2, 7, 11]
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个函数,返回每个数字在列表中出现的次数.输出可能如下所示:
1 occurred 2 times
2 occurred 2 times
3 occurred 1 time
5 occurred 1 time
...
...
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所尝试的: -
为列表中的每个元素创建字典
-Have嵌套循环遍历每个元素并针对每个其他元素进行检查 -
如果元素匹配,则将该元素添加到该元素的字典键中
问题:
每次循环时,它都会重新检测相同的元素.因此,无论某个元素有多少,而不是加1,它都会被n次幂提升
Enter integers between 1 and 100: 5 2 41 4 5 2 2 4
4 occurs 4 times
2 occurs 9 times
41 occurs 1 times
5 occurs 4 times
Run Code Online (Sandbox Code Playgroud)
码:
def main():
original_nums = input("Enter integers between 1 and 100: ") …Run Code Online (Sandbox Code Playgroud) 我在 while 循环的每次迭代中都进行了异常处理。由于某种原因,当抛出异常的条件为真时,会显示异常消息,但程序仍继续运行而不会中断。我以前从未见过这种情况发生,怀疑这是因为 while 循环。我必须在每次迭代时检查队列中是否存在空对象。另一个线程建议使用 try 子句,因此我更改了代码以使用 try 子句,但我仍然得到相同的结果。抛出异常但程序不会崩溃。是什么原因造成的?
Purchase ownedShares;
while (numSharesToSell > 0) {
try {
ownedShares = q.peek();
}
catch(NullPointerException ex) {
throw new IllegalArgumentException("Not enough shares");
}
Run Code Online (Sandbox Code Playgroud)
编辑2:
使用 isEmpty() 也不起作用:
Purchase ownedShares;
while (numSharesToSell > 0) {
if (q.isEmpty())
throw new IllegalArgumentException("Not enough shares");
else
ownedShares = q.peek();
// try {
Run Code Online (Sandbox Code Playgroud)
这里的核心错误并不是异常没有被执行。它正在执行,并且正在打印消息“没有足够的份额”。问题是,当发生这种情况时,程序不会停止。外层循环继续。
编辑3:
我正在修改的方法调用包装在 try/catch 块中,这可以防止我抛出的任何错误导致程序崩溃。这让我得出结论,为我提供此代码的骨架类的人不希望异常导致程序崩溃。
在我大学的最新讲座中,我的教授正在从路线返回视图模板。
Route::get('/list', function() {
return View::make('list');
}
Run Code Online (Sandbox Code Playgroud)
我不明白这怎么可能。我认为只有控制器可以与视图交互?路线如何与视图交互?这是否意味着我们应用程序中的任何类都可以调用View::make和控制呈现的视图模板?
这就提出了一个更大的问题:返回的路线是什么?换句话说,当我们的 Laravel 服务器收到请求时,我们服务器中的某些内容会 ping 路由,并且我们的路由会返回一个模板。返回模板的路由是什么?我假设它是index.php,我知道那里有很多引导方法。有人可以解释 Laravel 工作原理的内部结构以及为什么我们可以从路由渲染视图吗?
where() 和 whereHas() 这两个方法有什么区别?它们在 Laravel 文档中似乎非常相似。
在添加到我的 $PATH 的目录中,我有以下文件:
filename="$1" day="$2" month="$3"
ruby -r "./SomeClass.rb" -e 'SomeClass.run($filename, $day, $month)'
Run Code Online (Sandbox Code Playgroud)
假设这个文件名为 someclass。当我在终端中输入 someclass 时,我的系统会将其识别为有效命令并正确运行相应的 Ruby 文件。但参数没有被传入。如何将参数传递到别名中?
根据此优先级表,递增具有比比较运算符高的优先级.然而,当我在同一个表达式中递增和比较时,首先评估比较.为什么是这样?
var i = 0, k = 0;
console.log(i === k);
>true
console.log(i++ === k);
>true
>false
Run Code Online (Sandbox Code Playgroud)
为什么在postfix增量运算符之前评估比较运算符?
我今天意识到_memoize函数只缓存提供的第一个参数的结果.
function add(a, b) {
return a + b;
}
var sum = _.memoize(add);
console.log(sum(1,2));
>>> 3
console.log(sum(1,5));
>>> 3
Run Code Online (Sandbox Code Playgroud)
这是一个错误还是故意的?
python ×4
javascript ×2
laravel ×2
bash ×1
duplicates ×1
exception ×1
java ×1
macos ×1
php ×1
python-3.x ×1
string ×1
terminal ×1