很抱歉这个非常模糊的问题,但我的问题是我有三个不同的表。一张包含用户信息的表,一张用于用户发帖,一张用于用户喜欢。我想从包含用户数据和帖子的表中选择数据,但只返回用户不喜欢的帖子,而不是用户自己发布的帖子。我尝试使用不同的组合JOINS但没有成功。
例如,我想为 id = 1 的用户选择行。
Table users:
+----+----------+
| id | username |
+----+----------+
| 1 | A |
| 2 | B |
| 3 | C |
+----+----------+
Table posts:
+----+---------+
| id | user_id |
+----+---------+
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
| 4 | 3 |
| 5 | 2 |
| 6 | 3 |
+----+---------+
Table likes:
+----+---------+---------+
| id | post_id …Run Code Online (Sandbox Code Playgroud) 我在python 2.7中编写了一个函数来计算给定数字的数字和:
def dig_sum(n):
s = 0
while n:
s = s + n % 10
n = n/10
return s
Run Code Online (Sandbox Code Playgroud)
现在尝试将其重写为递归函数:
def dig_sum(n):
s = 0
if n != 0:
s = n % 10
s += s
return dig_sum(n/10)
return s
Run Code Online (Sandbox Code Playgroud)
我的递归函数有什么问题?做这些功能时最佳做法是什么?提前致谢!
我正在尝试学习递归,并编写了一个函数,它接受一个数字并将其计数到零,然后再次将其计数到原始数字,该函数有效,但我不明白为什么它的工作方式与它一样.我解释了为什么在else语句后打印的第一个打印:"5 4 3 2 1"然后数字为0并且if语句打印:"0".在这种情况之后,我不明白,因为现在函数在else语句之后进入第二个打印并打印:"1 2 3 4 5"这对我来说很奇怪.如果有人能向我解释,我真的很感激.
<?php
function rec_downandup($num){
if($num == 0){
print '0 ';
}else{
print $num.' ';
rec_downandup($num-1);
print $num.' ';
}
}
rec_downandup(5);
?>
Run Code Online (Sandbox Code Playgroud)
产量
5 4 3 2 1 0 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)