小编Alt*_*yyr的帖子

python - 将字符串与布尔值进行比较

我遇到了一个奇怪的python行为,比较一个字符串与True/False.

我以为python会打印如下:

if "Test" == True:
    print("Hello1")
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.所以我写了一些测试用例,我不明白其中的一些.

if "Test" == True:
    print("Hello1")

if "Test" == False:
    print("Hello2")

#This I understand
if bool("Test") == True:
    print("Hello3")

#This I understand too    
if bool("") == False:
    print("Hello4")

if "Test":
    print("Hello5")
Run Code Online (Sandbox Code Playgroud)

产量

>> Hello3
>> Hello4
>> Hello5
Run Code Online (Sandbox Code Playgroud)

所以我不明白:

  • 如果没有打印Hello1,为什么不是Hello2?
  • 为什么要打印Hello5,是否强制转换为bool("Test")?

string comparison python-3.x

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

猫头鹰旋转木马和自举宽度显示不正确

我实际上有一个这个问题的例子.
如果您点击该链接,您会看到页面下方的特色优惠.
这些优惠显示完全错误.
它们应该是全宽移动,然后是所有其他设备的col-sm-3.

www.exclusivecard.co.uk

这只发生在我添加猫头鹰旋转木马之后.无论如何我会发布下面的代码.

款式

 #offerslide .owlItem{
   display: block;
   width: 100%;
   height: auto;
 }
Run Code Online (Sandbox Code Playgroud)

 <div class="owlslide">
      <a href="somelink">
   <div class="col-xs-12 col-sm-3 owlItem">

      <div class="row" id="yellow">
        <div class="col-xs-12 ">
          <div class="panel panel-warning coupon">
            <div class="panel-heading" id="head">
              <div class="panel-title" id="title">

                <span >title</span>
              </div>
            </div>
            <div class="panel-body">                

             <img>
              <div class="col-md-12 text-warning">
                <div class="offer">
                  <span class="number">[saving]</span>                     
                </div>
              </div>

            </div>
            <div class="panel-footer" id="coupon-backing">
              <div class="coupon-code">
                [cat]
                <span class="print">
               [expires]
                </span>

              </div>

            </div>
          </div>
        </div>
      </div>
    </div>

</a>
 </div>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$("#owlslide").owlCarousel({
    autoPlay: 3000, …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery twitter-bootstrap

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

为什么print(0.3)打印0.3而不是0.30000000000000004

所以我认为我基本上理解浮点数是如何工作的以及为什么我们不能为某些操作得到"精确"的结果.

我对这个问题很困惑,@MikeMüller建议四舍五入.


我的理解如下.如果我们写小数位,它看起来像这样:
1000 100 10 1 . 1/10 1/100 1/1000

它看起来像二进制:
8 4 2 1 . 1/2 1/4 1/8

因此我们精确地将0.5或0.25或0.125存储在存储器中但不是例如0.3

那么为什么python输出如下:

print(0.1)
print(0.2)
print(0.3)
print(0.1 + 0.2)

>>>0.1
>>>0.2
>>>0.3
>>>0.30000000000000004
Run Code Online (Sandbox Code Playgroud)

我认为它应该输出

>>>0.1
>>>0.2
>>>0.30000000000000004
>>>0.30000000000000004
Run Code Online (Sandbox Code Playgroud)

我哪里错了?


我的问题不是浮点数学被破坏了吗? 因为OP不明白为什么0.1 + 0.2!= 0.3.这不是我的问题的主题!

python python-3.x

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

FrameLayout中的片段未显示在CoordinatorLayout中

我用NavigationDrawer打开了默认的Android Studio App.默认的内容视图不是很有用,因此我尝试用一​​个替换它,FrameLayout所以我可以添加片段.

如果我只是更换content_mainFrameLayout该片段将根本不显示.

如果我拉出FrameLayoutapp_bar_main.xmlactivity_main.xml显示它,但它与工具栏重叠.

MainActivity.java

public class MainActivity extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        //FloatingActionButton

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.addDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);

        FragmentManager fragmentManager = getSupportFragmentManager();
        fragmentManager.beginTransaction()
                .add(R.id.content_frame, new Fragment1())
                .commit();
    }
}
Run Code Online (Sandbox Code Playgroud)

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout …
Run Code Online (Sandbox Code Playgroud)

android android-fragments navigation-drawer

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

无法在Jest中创建自定义TestEnvironment

我正在尝试使用Jest创建自定义测试环境,如其官方文档中所述,
不幸的是我收到以下错误:

确定要运行的测试套件...
FAIL acceptancetests/mongo.test.js
●测试套件无法运行

TypeError:TestEnvironment不是构造函数

at ../node_modules/jest-runner/build/run_test.js:88:25
Run Code Online (Sandbox Code Playgroud)

我的测试完全是空的,我的CustomTestEnvironment只调用超类.我是最新的Jest版本(24.3.1)

我认为这很奇怪,错误是在Jest库中引发的.

这是我的test-environment.js:

const NodeEnvironment = require('jest-environment-node');

class CustomEnvironment extends NodeEnvironment {
  constructor(config) {
    super(config);
  }

  async setup() {
    await super.setup();
  }

  async teardown() {
    await super.teardown();
  }

  runScript(script) {
    return super.runScript(script);
  }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

javascript testing node.js jestjs

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

如何将此列表转换为字典

我目前的列表看起来像这样

list =  [['hate', '10'], ['would', '5'], ['hello', '10'], ['pigeon', '1'], ['adore', '10']]
Run Code Online (Sandbox Code Playgroud)

我想把它转换成这样的字典

dict = {'hate': '10', 'would': '5', 'hello': '10', 'pigeon': '1', 'adore': '10'}
Run Code Online (Sandbox Code Playgroud)

因此,基本上list [i][0]将是关键,list [i][1]将是价值观.任何帮助将非常感激 :)

python dictionary list

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

如果你在Django的installed_apps中使用元组与列表,这有什么关系吗?

Django 教程使用 Installed_apps 中的列表进行了以下说明。但默认值是元组,其他消息来源也表示在这种情况下 Django 更喜欢元组而不是列表。

我的问题是:如果我按照教程所说的操作,并使用列表而不是元组,这会在设置的其他地方导致问题吗?或者这并不重要?

我在运行 Django 1.8 和 Python 3.4 的 PythonAnywhere 上使用 virtualenv


教程所说的添加到 mysite/settings.py 的内容:

INSTALLED_APPS = [ 
    'polls.apps.PollsConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
Run Code Online (Sandbox Code Playgroud)

python django tuples pythonanywhere

4
推荐指数
2
解决办法
958
查看次数

python - 执行命令并获取输出

我需要构建一个可以执行命令行命令并发送回命令输出的服务器

例:

对于command-echo hello world,服务器将返回字符串"hello world".

我试图使用subprocess.call()函数,但它返回一个数字,而不是一个字符串.我准备好了服务器,我只需要这个.

码:

type=struct.pack("B",2) #packing type
data=subprocess.call(client_data, shell=True)
length=struct.pack("H",len(data)) #packing lenght
client_soc.send(type+length+data)
Run Code Online (Sandbox Code Playgroud)

python cmd

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

Espresso 不等待键盘打开

我有一个浓缩咖啡测试,我的屏幕在下面包含一个EditText和一个跳过Button。当我启动键盘弹开的活动,侧重于EditText与重叠Button
我现在想为跳过按钮编写一个测试并断言之后会发生什么。

问题是浓缩咖啡不会等待键盘打开。
那么会发生什么

  • Espresso 不等待键盘并按“跳过”
  • 键盘滑盖打开
  • 断言现在键盘下面的东西失败了

代码如下所示:

public void givenSkipped_whenConfirmed_thenMainActivityLaunched() {
  Espresso.closeSoftKeyboard();// <- Not working as espresso seems to think it is not open yet
  skipPostcodeEntry.perform(click()); //<- Can click this as keyboard is not open yet.

  warningText.check(matches(withText(R.string.some_text)));

  confirmationButton.perform(click());//<- Fails as this is now overlapped by KB

  Assert.DoesSomething()
}
Run Code Online (Sandbox Code Playgroud)

我发现了一个问题,即 espresso没有等待键盘关闭,但没有等待键盘打开。

有没有人解决过这个问题?

编辑

当您查看该closeSoftKeyboard方法时,您可以找到一个名为CloseKeyboardAction. 您可以看到它甚至在键盘未被识别为打开时记录。

 Log.w(TAG, "Attempting to close soft keyboard, while it is …
Run Code Online (Sandbox Code Playgroud)

java android android-espresso

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

Webstorm MAC OSX:通过选择将插入符移动到页面底部或顶部的快捷方式

在Webstorm MAC OSX中,快捷方式Move Caret to Page Bottom/Top with Selection是Shift + Command + Down/Top Arrow,带有等号.

请告诉我在哪里可以找到粗体键或如何使用此快捷键?

这是一张图片来展示它的外观: 在此输入图像描述

keyboard-shortcuts webstorm osx-mavericks

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