小编for*_*ord的帖子

Python 2中的Python 3舍入行为

在Python 2.x中,内置函数round具有以下行为:

如果两个倍数相等,则舍入远离0(因此,例如,round(0.5)为1.0,round(-0.5)为-1.0)

在Python 3.x中,这已经变为更常见的:

如果两个倍数相等,则向均匀选择进行舍入(例如,圆形(0.5)和圆形(-0.5)都是0,圆形(1.5)是2).

有没有一种简单的方法可以在Python 2.x中获得这种行为?不幸的是,该future_builtins模块不包括此内容.也许还有另一个类似的模块我还没找到?或者,将Python 3.x函数引入Python 2.x的另一种方法是什么?

显然,我可以编写一个产生所需行为的新函数,但是如果存在使用实际Python 3.x函数的解决方案,我会更加好奇,以避免添加不必要的复杂性和代码来维护.

python

21
推荐指数
2
解决办法
3380
查看次数

用css很好地缩放画布

我正在尝试在画布上绘制图像,然后使用css将画布调整到一定的大小.事实证明,许多浏览器都没有很好地缩放画布.OS X上的Firefox似乎是最差的之一,但我没有测试过很多.以下是问题的最小示例:

HTML

<img>
<canvas></canvas>
Run Code Online (Sandbox Code Playgroud)

CSS

img, canvas {
  width: 125px;
}
Run Code Online (Sandbox Code Playgroud)

JS

var image = document.getElementsByTagName('img')[0],
    canvas = document.getElementsByTagName('canvas')[0];

image.onload = function() {
  canvas.width = image.width;
  canvas.height = image.height;

  var context = canvas.getContext('2d');
  context.drawImage(image, 0, 0, canvas.width, canvas.height);
}

image.src = "http://upload.wikimedia.org/wikipedia/commons/thumb/0/00/Helvetica_Neue_typeface_weights.svg/783px-Helvetica_Neue_typeface_weights.svg.png"
Run Code Online (Sandbox Code Playgroud)

在codepen中运行:http://codepen.io/ford/pen/GgMzJd

这是Firefox中的结果(来自视网膜显示屏的截图):

canvas_scaling_firefox.png

发生了什么事是,无论是<img><canvas>开始在相同的尺寸和用CSS被缩小浏览器(图像宽度为783px).显然,浏览器会对其进行一些很好的平滑/插值<img>,但不会<canvas>.

我试过了:

如何使右侧的图像看起来像左侧的图像?最好是尽可能少的代码(例如,我宁愿不自己实现双三次插值).

css html5 canvas

10
推荐指数
2
解决办法
6501
查看次数

在viewpager中垂直滚动

fragmentPagerAdapter viewpager里面有几个片段类.因此,这viewpager可以通过滑动水平向左和向右滚动.问题是,在每个页面上,我的值超出了页面大小,我需要垂直滚动才能看到它们.但我无法启用任何垂直滚动.我删除了所有scrollview的东西,让我的代码进入工作状态.(我想要像Android应用程序商店那样:水平滚动分类,垂直滚动查看应用程序.)

这是我的代码:

MyFragmentPagerAdapter:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:isScrollContainer="true">

            <android.support.v4.view.PagerTitleStrip
                android:id="@+id/pager_title_strip"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="top"
                android:background="#33b5e5"
                android:paddingBottom="4dp"
                android:paddingTop="4dp"
                android:textColor="#fff" />
        </android.support.v4.view.ViewPager>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

需要垂直滚动的片段活动:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="10dp"
        android:text="Last fill-up spent :"
        android:textSize="15dp" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="15dp"
        android:text="Month total spent :"
        android:textSize="15dp" />

    <TextView
        android:id="@+id/currentMoneySpentText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView2"
        android:layout_marginLeft="24dp"
        android:layout_toRightOf="@+id/textView1"
        android:textSize="15dp" />

    <TextView
        android:id="@+id/monthTotalSpentText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager

6
推荐指数
2
解决办法
1万
查看次数

如何在iOS上将图像作为JSON从库上传到服务器

如何从iPhone上的库中将图像作为JSON上传到服务器?我尝试了以下方法:

[Loading startLoading:YES];
NSString *urlString = [NSString stringWithFormat:@"http://railsboxtech.com/singing/jsn_song/register_response.php?accesstoken=%@",Access_Token];
//username, password, name, email, country
NSString *parameter = [NSString stringWithFormat:@"username=%@&password=%@&fname=%@&email=%@&lname=%@&btnImage4=%@",userField.text,passField.text,fnameField.text,emailField.text,lnameField.text,btnImage4];
NSConnection *conn = [[NSConnection alloc] initWithDelegate:self];
[conn sendRequest:urlString withParaMeter:parameter withMethod:@"POST" withTag:1];
[conn startAsynchronousRequest];
Run Code Online (Sandbox Code Playgroud)

iphone json ios

3
推荐指数
1
解决办法
6668
查看次数

Jinja2中的稳定分类

可以在Jinja2中连续应用排序过滤器,先按一个属性排序列表,然后再按另一个属性排序?这似乎是一件很自然的事情,但在我的测试中,前面的排序完全不稳定,所有排序都丢失了.

我已经通过在将列表传递给模板之前首先在python中进行排序来解决它,但我想知道是否可以在Jinja2中对"稳定"进行排序.

我应用过滤器的方式是这样的:

{{ item_list|sort(attribute='value')|sort(attribute='color') }}
Run Code Online (Sandbox Code Playgroud)

我希望看到的是列表排序依据color,元素共享一个颜色排序value.相反,它看起来好像value从未发生过排序.

例如,从此列表中:

2 red
3 blue
3 red
2 blue
1 blue
4 red
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

1 blue
2 blue
3 blue
2 red
3 red
4 red
Run Code Online (Sandbox Code Playgroud)

我查看了groupby过滤器,但该实现看起来太复杂了(需要嵌套for循环).

python jinja2

2
推荐指数
1
解决办法
2029
查看次数

我怎样才能让我的船发射多次射击?

好的,我正在为学校做这个项目.我应该做一个太空入侵者类型的游戏.我已经完成了让我的船移动并开枪的机会.现在这就是问题所在,当我尝试多次射击时,它会擦除​​之前发射的子弹,然后发射一个根本不是一个好网站的新子弹.我怎样才能让它实际射击多次?

while (running == 1):
    screen.fill(white)
    for event in pygame.event.get():
        if (event.type == pygame.QUIT):
            running = 0
        elif (event.type == pygame.KEYDOWN):
            if (event.key == pygame.K_d):
                dir = "R"
                move = True
            elif (event.key == pygame.K_a):
                dir = "L"
                move = True
            elif (event.key == pygame.K_s):
                dir = "D"
                move = True
            elif (event.key == pygame.K_w):
                dir = "U"
                move = True
            elif (event.key == pygame.K_ESCAPE): 
                sys.exit(0)
            elif (event.key == pygame.K_SPACE):
                shot=True
                xbul=xgun + 18
                ybul=ygun
            #if key[K_SPACE]:
                #shot = True …
Run Code Online (Sandbox Code Playgroud)

python pygame projectile

1
推荐指数
1
解决办法
943
查看次数

将图像高度和宽度减小50%,但磁盘上的图像尺寸保持不变

我试图通过调整其长度和宽度来缩小图像的大小,但它保持相同的大小(兆字节),有时甚至更大,即使它只有一半大.

String compressPath = Environment.getExternalStorageDirectory()+"/test2.jpg";
FileInputStream in = new FileInputStream(path);
Bitmap fullSizeBitmap = BitmapFactory.decodeStream(in);
Bitmap resized = Bitmap.createScaledBitmap(
    fullSizeBitmap, 
    (int)(fullSizeBitmap.getWidth()*0.5), 
    (int)(fullSizeBitmap.getHeight()*0.5), 
    true
);

FileOutputStream mOutputStream = new FileOutputStream(compressPath);
resized.compress(Bitmap.CompressFormat.PNG, 100, mOutputStream);
Run Code Online (Sandbox Code Playgroud)

有什么问题?我必须降低质量吗?

java android

0
推荐指数
1
解决办法
334
查看次数