我有一个代码,用于创建文件夹并在其中放置输出文件.我想使用try-except-else块和覆盖选项,可以设置为True或False,这样在文件夹已经存在并且overwrite设置为false的情况下,它将只打印文件夹已经存在,在所有其他情况下,它只会执行而不发表评论.
到目前为止,我提出的唯一解决方案如下:
def function( parameters, overwrite = False ):
try:
os.makedirs( dir )
except OSError:
if overwrite:
data making code...
else:
print dir + ' already exists, skipping...'
else:
if overwrite:
data making code...
Run Code Online (Sandbox Code Playgroud)
这个问题可能有更好或更优雅的解决方案吗?比如,例如,我不需要复制我的数据制作代码?这样做会让我想起太多的风格,我最终不得不用C语写一些东西,而且看起来并不像Pythonic.
我有一个Python问题,想象下面的变量x.我想写一个正则表达式,帮助我找到任何重复的单个数字.如1不重复,但2提到两次,3是3次.
x='1234328732'#a string of digits
re.search(r'(\d+).*\1', x).group(1)
Run Code Online (Sandbox Code Playgroud)
这就是我的想法,但这只是让我回归模式.以上没有返回任何原因,因为没有重复的模式.但如果
x='1231231234'
Run Code Online (Sandbox Code Playgroud)
它将返回123但重复模式不是我想要的.我想重复数字.因此,对于第一个x,它应该给出2,3,对于第二个x应该给出1,2,3
这是为了学习RE的想法,主要是Thx
我的代码就是这个
bv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(mp.isPlaying()){
mp.pause();
bv.setImageResource(R.drawable.playzz);
} else {
bv.setImageResource(R.drawable.pausezz);
for (int i=1; i<=10 ; i++){
mp.start();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想重复一首歌只有10次.我用于循环,但声音只播放一次并停止.知道如何做到这一点?提前致谢.
我在学校有一个作业,我们应该从promt中获取一个文本字符串,然后让警报打印文本字符串10次.但我们必须使用for循环.但即使我阅读了涵盖此内容的所有页面,我似乎无法让它工作.
function buttonAction7() {
var someMsg = prompt("Write something");
for(var i = 0; i < 10; i++){
someMsg+someMsg;
}
alert(someMsg);
}
Run Code Online (Sandbox Code Playgroud) 我有自己的解决方案来解决我的问题,但它涉及循环并且相对较慢.有什么方法可以更快地在R中使用 - 使用一些更高级的包?谢谢!
# My data frame:
d <- data.frame(ID=1:10,a = 1:10,b = 5:14)
# Desired number of repeats for each row:
freq = c(2,2,3,3,3,4,5,5,5,6)
# i.e., Raw 1 of d should be repeated 2 times
# Raw 10 of d should be repeated 6 times.
# My current solution - looping through unique values of freq:
d.long<-NULL
myrepeats=unique(freq)
for(i in myrepeats){
onecount<-d[freq==i,]
for(ii in 2:i){
temp<-d[freq==i,]
onecount<-rbind(onecount,temp)
}
d.long<-rbind(d.long,onecount)
}
d.long<-d.long[order(d.long$ID),]
(d.long)
Run Code Online (Sandbox Code Playgroud) 我有一段代码,我试图让它成为用户输入他们的名字,我希望它识别它是否是一个实际的名称.所以为了简单起见我只想让它接受字母.
我输入一个有效的名称,然后继续下一段代码.但是,当我输入无效字符时,我会收到"无效名称"消息,但在此之后无论我输入什么,只是一直说"无效名称".
Console.WriteLine("Please Enter First Name");
bool isNotName = true;
string firstName = Console.ReadLine();
while (isNotName)
{
if (Regex.IsMatch(firstName, @"^[a-zA-Z]+$"))
{
{
Console.WriteLine("Welcome {0}", firstName);
}
isNotName = false;
}
else
{
Console.WriteLine("Invalid Name");
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud) 我现在正在努力使用正则表达式...
我已经阅读并查看了很多例子,但似乎无法找到答案.当找到字符串"::"时,我想分割一个字符串,我想丢弃这两个字符.我得到的最接近的是分裂正确的模式,但它保留了冒号.这是我的输入和所需输出的示例:
String input = "One::Two::Three";
Run Code Online (Sandbox Code Playgroud)
我希望输出为:
output[0]: "One"
output[1]: "Two"
output[2]: "Three"
Run Code Online (Sandbox Code Playgroud) 我有一个非常长的字符串,在c#看起来像:
String currentStrings = "\\u0000\\u0001\\u0002\\u0003\\u0004"..."\\uFFFF"; //... means repeating
Run Code Online (Sandbox Code Playgroud)
我需要获取每个子字符串的十六进制,例如:
String newString = "00000001000200030004"..."FFFF";
Run Code Online (Sandbox Code Playgroud)
我写了linq:
var newString = String.Join("", Enumerable.Repeat(currentStrings, 16).Select(s => s.Substring(2, 4)));
Run Code Online (Sandbox Code Playgroud)
但它回来了 "00000000000000000000000"..."0000".
我知道,这个的原因 - 它在选择2,但我不知道如何在当前重复的子串中得到起始位置.
嗨我正试图获得艺术家名称在某些年份重复的次数,我有这个
var artists=Array.ofDim[String](994,2)//artist,year
var artists2=Array.ofDim[String](250)//artist name
var artists3 = Array.ofDim[Int](250)//number of times
Run Code Online (Sandbox Code Playgroud)
并且用户必须输入ano1和ano2,它们是我们想要的年份保证金
val loop = new Breaks;
for(i <- 0 to 993){//copiamos
loop.breakable{
for(j<- 0 to 249){
if(artists2(j).contentEquals("NULL") && artists(i)(1).toInt>=ano1 && artists(i)(1).toInt<=ano2){
artists2(j)=artists(i)(0)
artists3(j)= 1
loop.break;
}else if(artists(i)(0).contentEquals(artists2(j)) && artists(i)(1).toInt>=ano1 && artists(i)(1).toInt<=ano2){
artists3(j)= artists3(j)+1
loop.break;
}
}
}
}
println(artists2.mkString("\n"))
println(artists3.mkString(","))
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我输入if后无法正常工作或j自我添加1因为每次都在artists2中创建一个新元素而不是将其添加到artists3
我得到的输出是艺术家3填充1,因为由于某种原因它永远不会检查if的其他部分
让我们假设以下示例:
int Lenght = 10;
for(int i = 0; i < Length; i ++)
{
if(i == 5)
{
}
}
Run Code Online (Sandbox Code Playgroud)
假设在i = 5时,我希望循环重复进行,直到满足条件(x),然后再继续其他迭代。如何在条件(x)可用之前保持if语句运行?