查询级别:初学者
作为学习练习的一部分,我编写了代码,必须检查字符串(因为它是通过raw_input构建)是否匹配任何列表项的开头,以及它是否等于任何列表项.
wordlist = ['hello', 'bye']
handlist = []
letter = raw_input('enter letter: ')
handlist.append(letter)
hand = "".join(handlist)
for item in wordlist:
if item.startswith(hand):
while item.startswith(hand):
if hand not in wordlist:
letter = raw_input('enter letter: ')
handlist.append(letter)
hand = "".join(handlist)
else: break
else: break
print 'you loose'
Run Code Online (Sandbox Code Playgroud)
这段代码有效,但我的代码(以及我的推理/方法)如何改进?我有一种感觉,我的嵌套IF,WHILE并FOR声明是矫枉过正.
编辑 感谢Dave,我能够大大缩短和优化我的代码.
wordlist = ['hello','hamburger', 'bye', 'cello']
hand = ''
while any(item.startswith(hand) for item in wordlist):
if hand not in wordlist:
hand += raw_input('enter letter: ') …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个示例,其中使用状态设计模式来解决或简化有趣或复杂的状态转换.有很多例子有三个或四个简单状态.但是,具有子状态和超过少数过渡的现实生活项目中的代码呢?实际上促使使用模式的代码类型.奖金指向代码指针!
哪种类型(浮点数或十进制)最适合在mysql数据库中存储价格?
这里我的应用程序控制器文件中的http基本身份验证(application_controller.rb)
before_filter :authenticate
protected
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "username" && password == "password"
end
end
Run Code Online (Sandbox Code Playgroud)
和我的家庭控制器的索引操作的默认测试(spec/controllers/home_controller_spec.rb)
require 'spec_helper'
describe HomeController do
describe "GET 'index'" do
it "should be successful" do
get 'index'
response.should be_success
end
end
Run Code Online (Sandbox Code Playgroud)
由于身份验证方法,测试无法运行.我可以评论"before_filter:authenticate"来运行它们,但我想知道是否有办法让它们使用该方法.
谢谢!
我想使用HTML5 FileApi将SWF读取到OBJECT(或者EMBED,如果它更好吗?).
我当前的代码在Chrome/Iron(唯一支持xmlhttprequest v2 FormData的稳定浏览器)上崩溃了.我得到它将图像数据读入即时创建的IMG.但是对象会崩溃浏览器中的当前选项卡.
else if (file.type == "application/x-shockwave-flash") {
var show = document.createElement("object");
show.type = "application/x-shockwave-flash"
show.style.width = "100%";
show.style.height = "100%";
show.id = "thumb";
document.getElementById("thumbnails").appendChild(show);
var reader = new FileReader();
reader.onload = (function (aImg) {
return function (e) { aImg.data = e.target.result; };
})(show);
reader.readAsDataURL(file);
Run Code Online (Sandbox Code Playgroud)
我真的读过这object.data部分吗?怎么做对了?有人知道吗?或者这是不完整的,我必须等待更好的实施?
附加的,简单的测试程序测试清空一个简单的std :: map的性能.使用MSVC 2008和2010,从命令提示符执行调试构建将花费<30秒,但在调试器中执行时将花费大约3分钟.对clear()的调用完全是对差异的责任.如果我进入调试器,callstack将始终指向HeapFree.
问题:为什么巨大差异?我可以以某种方式更改调试堆设置,以便在调试器中执行时会很快吗?
#include <map>
int
main ( int, char )
{
std::map< time_t, double > test;
for ( int i = 0; i < 1000000; ++i )
{
test[i] = i / 3.14;
}
test.clear();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我决定为我的整个网站创建一个精灵表(+ -30图像),这样我就可以加载1个图像并只引用位置,这样可以减少图像加载时间和服务器调用.
我的问题:是否可以在精灵表中引用图像,然后将该图像调整为其父容器的100%?
所以例如:
#SomeDiv
{
background: url("/Content/Images/SpriteSheet.png") -125px 0 no-repeat;
width:100px;
}
Run Code Online (Sandbox Code Playgroud)
我的div的宽度是100px,但我要引用的精灵是20px(例如) - 我怎样才能将提取的精灵拉伸到100px?
此致,Byron Cobb.
如何dll使用LINQ或LAMBDA表达式递归地从目录及其子文件夹中读取带扩展名的文件名.
现在我正在使用嵌套for-each循环来执行此操作.有没有办法使用LINQ或LAMBDA表达式?
我有一个场景,我们正在对数据库中的行进行软删除.我想要包含未删除的行.如何使用LINQ实现它.
说
from c in context.ASDSet
where (c => c.DeletedFlag.HasValue && !c.DeletedFlag.Value)
Run Code Online (Sandbox Code Playgroud)
但我无法达到结果.
我希望生成的SQL具有以下形式:
select * from table where IsNull(column, 0) = 0
Run Code Online (Sandbox Code Playgroud)