小编Eri*_*ric的帖子

Python将十进制转换为十六进制

我有一个函数将十进制转换为十六进制,但它以相反的顺序打印它.我该如何解决?

def ChangeHex(n):
    if (n < 0):
        print(0)
    elif (n<=1):
        print(n)
    else:
        x =(n%16)
        if (x < 10):
            print(x), 
        if (x == 10):
            print("A"),
        if (x == 11):
            print("B"),
        if (x == 12):
            print("C"),
        if (x == 13):
            print("D"),
        if (x == 14):
            print("E"),
        if (x == 15):
            print ("F"),
        ChangeHex( n / 16 )
Run Code Online (Sandbox Code Playgroud)

python hex function decimal

44
推荐指数
7
解决办法
20万
查看次数

用于String中多个匹配的Java indexOf方法

我有一个关于indexOf方法的问题.我想在字符串中找到多个"X"的情况.

假设我的字符串是"x是x是x是x",我想在其所有索引位置找到x.但是你如何针对多种情况做这件事呢?indexOf甚至可以实现这一点吗?

我做了int temp = str.indexOf('x'); 它找到了第一个x.我尝试做一个for循环,其中我被初始化为字符串的长度,这不起作用,因为我一直在寻找第一个x.

for (int y = temp1; y >= 0;y-- ) 
{
    int temp = str.indexOf('x');
    System.out.println(temp);
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我应该使用正则表达式吗?因为我真的不知道如何使用正则表达式方法.

任何帮助将不胜感激,谢谢!

java indexof

21
推荐指数
3
解决办法
4万
查看次数

Python使用递归来反转字符串

我想使用递归来反转python中的字符串,以便向后显示字符(即"Hello"将变为"olleh"/"olle h".

我写了一个迭代地做的:

def Reverse( s ):
    result = ""
    n = 0
    start = 0
    while ( s[n:] != "" ):
        while ( s[n:] != "" and s[n] != ' ' ):
            n = n + 1
            result = s[ start: n ] + " " + result
            start = n
    return result
Run Code Online (Sandbox Code Playgroud)

但是我究竟如何递归地做到这一点呢?我对此部分感到困惑,特别是因为我不使用python和递归.

任何帮助,将不胜感激.

python string recursion

9
推荐指数
3
解决办法
4万
查看次数

Ocaml:匹配一对中的一个项目

我有一个接收temp的函数,这是一对.

type temp = (pd * string);;
Run Code Online (Sandbox Code Playgroud)

我想在temp中提取该字符串.但我不能编写一个可以匹配temp的函数,因为它是一个类型.

我写了一个函数:

let print_temp(t:temp) (out: out_channel) : unit = 
    fun z -> match z with 
            (_,a) -> output_string out a "
;;
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误,说它不是一个功能.我基本上想要提取该字符串并将其打印出来.对此的任何意见将不胜感激.

ocaml functional-programming extract

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

Java访问字符串数组中的特定元素

我正在运行一个Web爬虫供我自己使用.我下载了一个并希望提供种子.我想提供大约50粒种子.所以我创建了一个字符串数组.我希望每次遍历for循环时为爬虫提供1个种子.我的代码是:

String [] temp = new String [] {"http://www.random.org/","http://www.wikipedia.org/","http://www.jlworld.com/"," http://www.frys.com/"};

String [] urls = new String [temp.length];

  for (int i = 0; i <=temp.length; i++)       
     {          
        urls[i] = temp[i];      
     }
Run Code Online (Sandbox Code Playgroud)

抓取工具需要分配给网址的字符串.所以喜欢:

String [] urls = new String [1];

urls [0] ="http://www.google.com/";

所以它就是这样的.对于我的代码,我得到了一个outofbounds异常.我想要做的是每次通过for循环时为爬虫提供1个种子.任何有关这方面的帮助将不胜感激!

java arrays string

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

Ocaml:使用list.length

我试图在ocaml中找到列表的长度.

我先调用一个函数调用

> let get_list_length e in   
> print_list_length out x
Run Code Online (Sandbox Code Playgroud)

get_list_length中的实际代码是我感到困惑的地方."e"是一个"命令"列表,我想找到所有"命令"的长度.

let get_list_length(e:values):unit =
match e with
let x = list.length(e);;

所以我的e是"命令"列表,它是我的语法文件中指定的一堆值.我很困惑如何得到列表的长度,因为e是一个值列表,我想要该列表的长度.

任何帮助,将不胜感激.

ocaml list

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

Ocaml:再次调用递归函数

所以我有一个递归函数,它有2个整数,一个out_channel,基本上打印行(a,a + 1).它应该这样做,直到a的值等于b.即如果a = 1,则b = 5

第(1,2)行(2,3)......第(4,5)行

> let rec print_line (out:out_channel)(a:int)(b:int) : unit =
  if (a < b) then output_string out ("line("^string_of_int(a)^","^string_of_int(a+1)^")\n")
>    ;;
Run Code Online (Sandbox Code Playgroud)

我想让它继续打印行(a,a + 1),直到a不再小于b.我该怎么称呼它呢?

任何帮助,将不胜感激.

printing recursion ocaml

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