我正在尝试使用Python构建一个简单的Connect Four游戏(2.7)
我创建了一个板,它由一个简单的多维Python列表组成.
我的董事会名单如下:
board = [
[_,_,_,_,_,_,_,_,_,_],
[_,_,_,_,_,_,_,_,_,_],
[_,_,_,_,_,_,_,_,_,_],
[_,_,_,_,_,_,_,_,_,_],
[_,_,_,_,_,_,_,_,_,_],
[_,_,_,_,_,_,_,_,_,_],
[_,_,_,_,O,_,_,_,_,_],
[_,_,_,_,X,_,_,_,_,_],
[_,_,_,_,X,O,_,_,_,_],
[_,_,_,_,X,O,_,_,_,_],
Run Code Online (Sandbox Code Playgroud)
]
是X是PLAYER1和O是Player2(或计算机).
现在,我已经为GUI创建了一些基本代码,如下所示:
# Connect 4 Game
import Tkinter
screen = Tkinter.Tk()
screen.title("My First Game")
#Create a board
board = Tkinter.Canvas(screen,width=500,height=500)
board.pack()
screen.mainloop()
Run Code Online (Sandbox Code Playgroud)
问题:如何创建电路板的可视化表示,以便每个列表都有一个矩形?另外,有没有办法检测,当点击一个矩形并替换相应的列表值?
我希望这个问题不太清楚.谢谢!
我在我的应用程序中使用Select2来创建类似标签的选择下拉列表。用户可以选择预定义标签的数量或创建新标签。
相关表格类部分:
all_tags = Tag.objects.values_list('id', 'word')
# Tags
tags = forms.ChoiceField(
choices=all_tags,
widget=forms.Select(
attrs={
'class': 'question-tags',
'multiple': 'multiple',
}
)
)
Run Code Online (Sandbox Code Playgroud)
问题是在验证时Django 不允许自定义标签(选择)。我得到的错误如下所示:Select a valid choice. banana is not one of the available choices.
有什么办法可以解决吗?
谢谢
我正在为客户构建一个相当广泛的应用程序,我将不得不生成某种组权限控制.我决定选择Cartalyst和他们的Sentry包.
到现在为止还挺好!
现在我遇到的问题是,检测用户组权限的最佳方法是什么,因为不仅仅有一个,所以我不能只使用一个过滤器并完成它.
例如,我会这样做:
对于需要管理员级别访问权限的页面
Route::group(array('before' => 'is_admin'), function()
{
Route::get('admin', array('as'=>'admin', 'uses'=>'admin@index'));
// Other methods that require admin-level access
});
Run Code Online (Sandbox Code Playgroud)
对于需要更多级别访问等的页面..
Route::group(array('before' => 'is_moderator'), function()
{
Route::get('orodja/plosca', array('as'=>'moderator', 'uses'=>'moderator@index'));
// Other methods that require moderator-level access
});
Run Code Online (Sandbox Code Playgroud)
我采用这种方法的问题是,我需要为每个控制器动作定义一个新的路径,这对我来说真的不是最佳实践.
接下来我想到了注册所有控制器Controller::detect()并使它们满REST但我在这里的问题是,我只能将过滤器应用于控制器的构造函数方法而不是单个操作.如果我在一个控制器中使用不同访问级别的方法怎么办?
所以我的问题是:解决这个问题的最佳方法是什么?有没有办法将动作过滤器应用于单个控制器方法,而不是控制器构造函数.
谢谢,抱歉我的英文!
是否可以在Pycharm代码样式中设置对齐键值对?我正在寻找可以重新格式化的东西:
nickname = models.CharField(unique=True, max_length=24)
biography = models.TextField(default=BIO_DEFAULT_STRING)
avatar = models.ImageField(upload_to='members/avatars/')
Run Code Online (Sandbox Code Playgroud)
至:
nickname = models.CharField(unique=True, max_length=24)
biography = models.TextField(default=BIO_DEFAULT_STRING)
avatar = models.ImageField(upload_to='members/avatars/')
Run Code Online (Sandbox Code Playgroud)
我在PhpStorm工作,在PyCharm找不到它.
我正在构建一个简单的问答网站Django 1.8。
我想根据前键创建选择 optgroup(详细信息如下)。
我怎样才能做到这一点?
大学
class College(models.Model):
title = models.CharField(max_length=255)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
slug = models.SlugField(blank=True, max_length=100)
university = models.ForeignKey(to=University, related_name='college_list')
Run Code Online (Sandbox Code Playgroud)
大学
class University(models.Model):
title = models.CharField(max_length=255)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
slug = models.SlugField(unique=True, blank=True, max_length=100)
Run Code Online (Sandbox Code Playgroud)
题
class Question(models.Model):
title = models.CharField(max_length=150)
body = RedactorField(verbose_name=u'Vsebina')
slug = models.SlugField(unique=True, blank=True, max_length=100)
college = models.ForeignKey(to=College, default=1, related_name='questions')
Run Code Online (Sandbox Code Playgroud)
问题表
class CreateQuestionForm(ModelForm):
class Meta:
model = Question
fields = ['title', 'body', 'college']
Run Code Online (Sandbox Code Playgroud)
模板(显示选择)
{{ form.college }} …Run Code Online (Sandbox Code Playgroud) 我知道我可以用这样的整数做一个正常的循环
for($i=0;$i<10;$i++)
{
echo $i;
}
Run Code Online (Sandbox Code Playgroud)
问题:
我想循环遍历一个不是整数而是浮点数(45分钟)的循环.我希望结果如下:
0.45
1.30
2.15
3.00
3.45
...
Run Code Online (Sandbox Code Playgroud)
PHP中是否有任何辅助函数来实现?
我正在尝试在命令行中构建一个简单的板.
问题: 当我使用"\n"结束当前行时,它会添加一个额外的空白行.我该如何解决这个问题?
码:
def drawBoard():
board = [ [0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,3,2,1,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]
]
return board
def printBoard():
for i in drawBoard():
for a in i:
print a,
print "\n"
printBoard()
Run Code Online (Sandbox Code Playgroud)
输出:
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 3 2 1 0 0
0 0 0 0 0 0 0 …Run Code Online (Sandbox Code Playgroud) 我正在尝试学习 C,但在以下代码中出现错误。
如果我在体积中使用半径,则会出现错误:error #2069: Initializer must be constant.
#include <stdio.h>
#define PI (3.14)
/* Define radius*/
int radius = 10;
float volume = ( 4.0f / (3.0f * PI * radius) );
int main(void){
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是当我用一个实际数字改变半径时,它编译得很好。
#include <stdio.h>
#define PI (3.14)
/* Define radius*/
int radius = 10;
float volume = ( 4.0f / (3.0f * PI * 10) );
int main(void){
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,我该怎么做才能使第一个版本正常工作?
我将Django与PostgreSQL一起使用。我有一个带有IntegerRangeField的模型。
在模板中使用时,{{ field }}结果是(例如)NumericRange(2, 8, '[)')
如何获取模板中的范围编号?
我尝试过{{ field.0 }},{{ field.1 }}但没有得到任何输出(分别是我预期的2和8)。
python ×5
django ×3
php ×2
c ×1
css ×1
css-tables ×1
django-forms ×1
for-loop ×1
grid ×1
html ×1
laravel ×1
newline ×1
postgresql ×1
pycharm ×1
tkinter ×1