以下python代码将导致打印n(14),因为for循环已完成.
for n in range(15):
if n == 100:
break
else:
print(n)
Run Code Online (Sandbox Code Playgroud)
但是,我想要的是与此相反.有没有办法做一个... else(或while ... else)循环,但只有在循环确实中断时才执行else代码?
我已经开始使用libgdx并试图简单地制作一个具有相当厚的笔划的圆圈.到目前为止,我还没有发现任何中风.pixmap.setStrokeWidth()即使在API中,但似乎已被删除(?),并且Gdx.gl10.glLineWidth(width);没有效果.我怎样才能改变线条的行程?这是我当前代码的片段:
@Override
public void create() {
w = Gdx.graphics.getWidth();
batch = new SpriteBatch();
pixmap = new Pixmap(2 * w, 2 * w, Pixmap.Format.RGBA8888);
pixmap.setColor(Color.BLACK);
pixmap.drawCircle(w, w, w);
texture = new Texture(pixmap);
pixmap.dispose();
sprite = new Sprite(texture);
}
@Override
public void render() {
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
sprite.setPosition(-w / 2, -w);
sprite.draw(batch);
batch.end();
}
Run Code Online (Sandbox Code Playgroud) 说我有两套,set1 = {a,b,c,d,e,f}和set2 = {a,b,c,d,e,g}.我没有明确地表达这些,而是想创造类似的东西
common = {a,b,c,d,e}
set1 = common + f
set2 = common + g
Run Code Online (Sandbox Code Playgroud)
如果我们想要代表{a,b,c,h},我们可以将其表示为common - d - e + h.
我的目标基本上是能够生成要使用的最佳公共部分.只有一个共同的部分,这不是太具有挑战性,但我需要允许不止一个(但不是无限制,或获得的好处将是微不足道的).
通过最优,我的意思是"表达的元素数量最少".因此,在上面的例子中,它"成本"5(元素的数量)来制作common变量.然后设置1和2都是成本2(一个用于引用公共,一个用于添加额外元素),总计为7.没有替换,这些将花费12来存储(每个6个元素).类似地,从引用中减去元素"cost"1.
另一个例子,
{a,b,c,d}, {a,c,d,e}, {e,f,g,h} and {e,f}
可能
common1 = {a,c,d}
common2 = {e,f,g}
set1 = common1 + b
set2 = common1 + e
set3 = common2 + h
set4 = common2 - g
Run Code Online (Sandbox Code Playgroud)
通过允许多个共同部分,这变得更具挑战性.是否存在此类问题的名称或类似问题?看起来它可能与压缩有关,但我无法找到太多资源从何处开始.
其他一些可能相关的细节:
我正在努力在Haskell中创建一个AST.我想添加不同的注释,例如类型和位置信息,所以我最终使用了fixplate.但是,我在网上找不到任何例子,我遇到了一些困难.
我按照fixplate的推荐设置了我的AST(有些条纹):
data ProgramF a
= Unary a
Operator
| Number Int
| Let { bindings :: [(Identifier, a)]
, body :: a }
type Program = Mu ProgramF
Run Code Online (Sandbox Code Playgroud)
接下来添加标签我创建了另一种类型,以及一个基于树遍历添加标签的函数.
type LabelProgram = Attr ProgramF PLabel
labelProgram :: Program -> LabelProgram
labelProgram =
annMap (PLabel . show . fst) . (snd . synthAccumL (\i x -> (i + 1, (i, x))) 0)
Run Code Online (Sandbox Code Playgroud)
但是,除此之外,我遇到了一些问题.例如,我正在尝试编写一个对AST进行一些转换的函数.因为它需要一个标签来运行,我已经制作了类型LabelProgram -> Program,但我认为我在做错了.下面是一部分函数的片段(一个更简单的部分):
toANF :: LabelProgram -> Program
toANF (Fix (Ann label (Let {bindings, …Run Code Online (Sandbox Code Playgroud) haskell abstract-syntax-tree recursive-datastructures fixpoint-combinators
我终于让GNUstep工作(在Windows上),它编译并运行良好.但是,每当我尝试使用NSLog时,都会收到以下错误:
$ gcc -o hello hello.m -I /GNUstep/System/Library/Headers \
> -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base
hello.m: In function 'main':
hello.m:4:5: error: cannot find interface declaration for 'NXConstantString'
Run Code Online (Sandbox Code Playgroud)
我的源代码:
#import <Foundation/Foundation.h>
int main(void) {
NSLog(@"hello world");
}
Run Code Online (Sandbox Code Playgroud) 我知道.index()将返回子串在python中的位置.但是,我想要的是找到子串在第n次的位置,这将是这样的:
>> s = 'abcdefacbdea'
>> s.index('a')
0
>> s.nindex('a', 1)
6
>>s.nindex('a', 2)
11
Run Code Online (Sandbox Code Playgroud)
有没有办法在python中执行此操作?
我有一份包含以下数据的文件:
<div class="ds-list">
<b>1. </b>
A domesticated carnivorous mammal
<i>(Canis familiaris)</i>
related to the foxes and wolves and raised in a wide variety of breeds.
</div>
Run Code Online (Sandbox Code Playgroud)
我希望得到课堂上的所有内容ds-list(没有<b>和<i>标签).目前我的代码是doc.cssselect('div.ds-list'),但所有这一切都是之前的新行<b>.我怎样才能让它做我想做的事情?
可能重复:
在python中列出N下面所有素数的最快方法
虽然我已经编写了一个函数来查找n(primes(10) -> [2, 3, 5, 7])下的所有素数,但我很难找到一个快速查找前n个素数的方法.最快的方法是什么?
目前我有这个代码,它从包含类似内容的文件中读取[{'1': {'Score': '2', 'Class': '3'}}]并将其分配给变量:
exec('assigns = ' + open(r'D:\Dropbox\Dev\Output\dict', 'r').read())
Run Code Online (Sandbox Code Playgroud)
但是,我被告知使用exec是危险的.如何在不使用的情况下编写相同的代码exec?
我打算编写一个主要从Java使用的库。但是,我想用Scala写这个。我已经阅读了有关Java / Scala互操作的大多数文档,但主要集中在使用现有库上,而不是在编写库时要确保无缝互操作的最佳实践。
有效执行此操作的一些方法是什么?理想情况下,消费者根本不会知道该库是用Scala编写的。
还有其他主要的图书馆吗?
我目前的计划是拥有一个API,该API可以显示Scala类型/功能所需的所有内容,然后在此之上具有一个较小的层,以转换为Java类型。这种方法有什么问题吗?
我目前正在尝试创建一个程序,给出一个单词将查找其定义并返回它.虽然我已经开始使用它,但我不得不求助于使用RegEx来搜索存储定义的标记之间的文本.使用python 3.x执行此操作的更有效方法是什么?
python ×6
html ×2
java ×2
python-3.x ×2
algorithm ×1
cocoa ×1
compression ×1
exec ×1
for-loop ×1
gcc ×1
gnustep ×1
haskell ×1
html-parsing ×1
if-statement ×1
indexing ×1
io ×1
libgdx ×1
lxml ×1
math ×1
nslog ×1
objective-c ×1
opengl ×1
parsing ×1
performance ×1
primes ×1
scala ×1
set ×1
string ×1
substring ×1
unsafe ×1