我正在开发我的第一个Java程序作为一项功课.任务是有一个编目程序来存储和操作某些产品.
我有两个类,一个目录类和一个产品类.产品类存储有关我的产品的数据(ID,价格,颜色).目录列表包含一系列产品.
我的目录代码是这样的:
public class Catalog()
{
static Product[] productList;
Catalog () {
productList = new Product[99];
}
populateCatalog {
// Assign each item product in the product array an ID, Price & Color
}
}
Run Code Online (Sandbox Code Playgroud)
productList在整个程序中没有变化,因此将populateCatalog方法中的代码添加到构造函数中是不好的做法吗?
我一直在研究Udacity Web Enginnering课程并且在其中一个作业中遇到困难.
我创建了一个基本博客,允许我创建帖子并在主页面上显示它们.此外,每次创建帖子时,都会生成永久链接并显示页面.但是,虽然我的HTML渲染得很好,但所有的CSS都丢失了.样式表当然在从服务器返回的源中引用,但不显示.
在其他地方成功使用相同的CSS文件(stlye.css).
目录结构如下所示:
blog:
- app.yaml
- main.py
templates:
- index.html
- newpost.html
- styles.css
stylesheets
- styles.css
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序代码:
import os
import webapp2
import jinja2
from google.appengine.ext import db
jinja_environment = jinja2.Environment(autoescape=True,
loader=jinja2.FileSystemLoader(os.path.join(os.path.dirname(__file__), 'templates')))
# Defines the database model
class Post(db.Model):
subject = db.StringProperty(required = True)
content = db.TextProperty(required = True)
created = db.DateTimeProperty(auto_now_add = True)
# Base handler class with utility functions
class Handler(webapp2.RequestHandler):
def write(self, *a, **kw):
self.response.out.write(*a, **kw)
def render_str(self, template, **params):
t = …Run Code Online (Sandbox Code Playgroud) 我是python的新手,想编写一个程序,需要在日期和时间的字符串和整数表示之间进行转换.
格式是固定的,必须看起来像"02.03.2010 13:32:20"
有比这更简洁的方式吗?
class TimeStamp:
def __init__(self, day, month, year, hour, minute, second):
self.day = day
self.month = month
self.year = year
self.hour = hour
self.minute = minute
self.second = second
def __repr__(self):
string = ""
if self.day < 10:
string += "0" + str(self.day)
else:
string += str(self.day)
string += "."
if self.month < 10:
string += "0" + str(self.month)
else:
string += str(self.month)
string += "."
if self.year < 10:
string += "0" + str(self.year)
else:
string …Run Code Online (Sandbox Code Playgroud) 我正在尝试验证字符串的有效性,以确保它是一个合法的命令,我可以传递给终端.如果字符串通过测试,我返回True.否则,我返回False和错误消息.
我的代码非常丑陋,有很多嵌套的if语句 - 我怎样才能改进它?
task = task.split()
if len(task) > 1:
if task[0] == 'svn':
if task[1] in ALLOWED:
if len(task[2:]) == ALLOWED[task[1]]:
return True, task, None
else:
return False, "Incorrect number of arguments."
else:
return False, "Not a legal command."
else:
return False, "Not a subversion command."
else:
return False, "Invalid input"
Run Code Online (Sandbox Code Playgroud) 所以,我想创建一个简单的脚本来根据某个文件夹中包含的文件名创建目录.
我的方法看起来像这样:
def make_new_folders(filenames, destination):
"""
Take a list of presets and create new directories using mkdir
"""
for filename in filenames:
path = '"%s/%s/"' % (destination, filename)
subprocess.call(["mkdir", path])
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我无法让命令工作.
如果我传入一个名为"测试文件夹"的文件,我会收到如下错误:
mkdir: "/Users/soundteam/Desktop/PlayGround/Test Folder: No such file or directory
Run Code Online (Sandbox Code Playgroud)
打印'path'变量会导致:"/ Users/soundteam/Desktop/PlayGround/Test Folder /"
谁能指出我正确的方向?
我正在尝试解决从字符串中删除HTML标记的问题.我意识到正则表达式是一个更好的解决方案,但我想弄清楚这里出了什么问题.
我们的想法是假设我们使用'tag'监视标记,并通过比较每个char的值来修改它的值.
问题是,tag的值永远不会改变:
def remove_tag(s):
tag = True
for c in s:
print "c = %s" % c
if (c == '<'):
print 'start_tag'
tag == True
print tag
elif (c == '>'):
print 'end tag'
tag == False
print tag
Run Code Online (Sandbox Code Playgroud)
运行:
remove_tag("<h1>Title</h1>")
Run Code Online (Sandbox Code Playgroud)
生产:
c = <
start_tag
True
c = h
c = 1
c = >
end tag
True
c = T
c = i
c = t
c = l
c = e
c = <
start_tag …Run Code Online (Sandbox Code Playgroud)