1

我根本不会用 Python 编程,所以请原谅我的代码。我正在尝试编写一个在一定数量的字节后终止的打印函数。这是我到目前为止所做的:

   def print_stuff(stuff, size):
    i = 0
    data = ""
    while i < size:
            if stuff[i]=='\0':
                    data += " "
            else:
                    data += stuff[i]
    print data

但是当我尝试做 printf_stuff(data, 5050) Python 不打印任何东西并且似乎冻结时。我究竟做错了什么?

4

4 回答 4

6

您没有增加i.

于 2012-06-23T20:05:58.153 回答
3

您可以使用字符串切片和替换来执行此操作。

def print_stuff(stuff, size):
    data = stuff[:size]             # Slice it up to the size that you want.
    data = data.replace('\0', ' ')  # Replace all occurrences of \0 with a space.
    print data
于 2012-06-23T20:14:26.197 回答
1

是的,您可能需要在条件语句之后将 i += 1 放在那里:

def print_stuff(stuff, size):
  i = 0
  data = ""
  while i < size:
    if stuff[i]=='\0':
      data += " "
    else:
      data += stuff[i]
    i += 1                        # Here's your missing line.
  print data
于 2012-06-23T20:13:19.687 回答
0

你没有增加i变量

于 2012-06-23T20:06:33.243 回答