我已经被赋予了在python中创建螺旋的任务,其中用户输入一个数字,例如3,它将输出一个3x3螺旋,如下所示:
- - \
/ \ |
\ - /
Run Code Online (Sandbox Code Playgroud)
我不是在寻找完整的代码我只是不知道如何去做,显然使用if语句打印出所有可能的解决方案是不可能的或合乎逻辑的.这里真正的问题是我应该做什么,for循环,定义我自己的功能?有没有人可以链接我的文件,这将有所帮助.完整的任务大纲如下:
你的任务是编写一个程序,在一个盒子里面绘制一个给定大小的螺旋.
您的程序应该询问用户一个表示盒子大小的正整数.然后你的程序应该在那个大小的盒子里打印出一个螺旋形.
例如:
Run Code Online (Sandbox Code Playgroud)Enter size: 3 - - \ / \ | \ - /和:
Run Code Online (Sandbox Code Playgroud)Enter size: 4 - - - \ / - \ | | \ / | \ - - /和:
Run Code Online (Sandbox Code Playgroud)Enter size: 5 - - - - \ / - - \ | | / \ | | | \ - / | \ - - - /输入大小始终大于1.
我有一个带有字符串的列表names,我需要使用names列表中的每个元素搜索列表中的每个元素pattern.找到了几个可以循环访问单个字符串但不是字符串列表的指南
a = [x for x in names if 'st' in x]
Run Code Online (Sandbox Code Playgroud)
先感谢您!
names = ['chris', 'christopher', 'bob', 'bobby', 'kristina']
pattern = ['st', 'bb']
Run Code Online (Sandbox Code Playgroud)
期望的输出:
a = ['christopher', 'bobby', 'kristina]
Run Code Online (Sandbox Code Playgroud) 如果我正在打印类的对象,那么它正在打印toString()方法实现,即使我没有编写toString()方法,那么实现是什么,它是如何在toString()内部调用的?
这是关于'+'运算符返回的结果的差异.结果因字符串文字和字符串对象而异.
String str="ab";
String str1="c";
String str2 = "ab"+"c"; // Line 3
String str3 = "abc";
String str4 = str+str1; // Line 5
System.out.println(str2==str3); // True
System.out.println(str2==str4); // False
Run Code Online (Sandbox Code Playgroud)
结果我们可以推断出,使用文字,返回字符串池中已有的对象,如第3行的情况,并返回字符串对象,返回新对象,如第5行所示.为什么会这样?
这是我作业的一部分.我需要的只是一些建议.我需要编写一些嵌套的循环结构,以打印以下内容:
"122333444455555"
"+**+++****+++++"
"--***++++-----******+++++++"
Run Code Online (Sandbox Code Playgroud)
这是我打印第一组符号的代码
public static void main (String[] args)
{
int i,j;
for(i=1;i<6;++i)
{
for(j=1;j<i+1;++j)
{
System.out.print(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这完全没问题.我只是弄清楚第二和第三组符号.
对我缺乏经验表示歉意,我对Java很新.
我不能用String做一个简单的操作,用'替换''.
示例:t'est\'- >t'est*
我尝试过使用replace和replaceAll方法:
String s的值为: "t'est\'";
s.replaceAll("\'", "*"); -> result: t*est*
s.replaceAll("\\'", "*"); -> result: t*est*
s.replaceAll("\\\'", "*"); -> result: t*est*
s.replaceAll("\\\\'", "*"); -> result: t'est'
s.replace("\'", "*"); -> result: t'est'
s.replace("\\'", "*"); -> result: t'est'
s.replace("\\\'", "*"); -> result: t'est'
s.replace("\\\\'", "*"); -> result: t'est'
Run Code Online (Sandbox Code Playgroud)
但在任何情况下我都没有得到结果.
在Python 2中,这段代码没问题:
f = lambda (m, k): m + k
m = [1,2,3,4]
k = [5,6,7,8]
print(map(f, zip(m, k)))
Run Code Online (Sandbox Code Playgroud)
但是在Python 3中发生了以下错误:
f = lambda (m, k): m + k
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
如果我删除lambda表达式中的括号,则会发生另一个错误:
TypeError: <lambda>() missing 1 required positional argument: 'k'
Run Code Online (Sandbox Code Playgroud)
使用元组作为单个lambda参数的方法也适用于Python 3,但它不清楚(难以阅读):
f = lambda args: args[0] + args[1]
Run Code Online (Sandbox Code Playgroud)
如何在Python 3中以正确的方式解压缩值?
我有以下html页面,我试图找到这个词,silver并记住发现了多少.
这只是两个显示在这里,但它可以产生更多,所以我不知道确切的计数.
<tr id="au_4" class="odd">
<td>Silver</td>
</tr>
<tr id="au_4" class="even">
<td>Silver</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
这是我尝试但没有运气:
count = driver.find_elements_by_xpath("//td[text()='Silver']")
Run Code Online (Sandbox Code Playgroud) 任何人都可以解释以下ArrayList存储声明的区别String.
List type1 = new ArrayList();
List type2 = new ArrayList<String>();
List<String> type3 = new ArrayList<String>();
ArrayList<String> type4 = new ArrayList<String>();
List<String> type5 = null;
ArrayList<String> type6 = null;
Run Code Online (Sandbox Code Playgroud)
那么上面哪个声明是声明ArrayListString的最佳做法,为什么?
我想得到像这样的矢量: v:[1.0, 2.0, 3.0]
这是我的代码:
class VECTOR(list) :
def _init_ (self,x=0.0,y=0.0,z=0.0,vec=[]) :
list._init_(self,[float(x),float(y),float(z)])
if vec :
for i in [0,1,2] :
self[i] = vec[i]
Run Code Online (Sandbox Code Playgroud)
但是当我输入时:a = VECTOR(1,2,3)
它出错了:
TypeError:list()最多需要1个参数(给定3个)
我怎么解散它?
java ×5
python ×5
string ×2
arraylist ×1
collections ×1
lambda ×1
nested-loops ×1
python-3.x ×1
replace ×1
selenium ×1
tuples ×1
unpack ×1