C++到python初学者

the*_*er7 3 python python-3.x

我是python的新手,我有这个c ++的代码片段:

do
    {
    cout << "Make sure the number of digits are exactly 12 : ";
    cin >> input ;
    } while((input.length()) != 12 );
Run Code Online (Sandbox Code Playgroud)

如何将此部分更改为python?到目前为止,我已经尝试过这个,但是我没有得到正确的语法或逻辑流程.这就是我所拥有的:

while True:
  print("Make sure the number of digits are exactly 12 : ")
  input = raw_input()
  check = len(input)
  if check != 12
  break
Run Code Online (Sandbox Code Playgroud)

以上部分解决了!

另外,另一个c ++片段是:input是string

for (int i = 0; i < 12 ; i++)
    {
     code[i] = input.at(i) - '0';
    }
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何将此部分更改为python代码

code[i] = input.at(i) - '0';
Run Code Online (Sandbox Code Playgroud)

所以,我遇到的问题是我无法弄清楚如何初始化数组

int code[12] ;
Run Code Online (Sandbox Code Playgroud)

怎么应该在python中,所以我可以执行这段代码!如下:

   int code[12] ;
    for (int i = 0; i < 12 ; i++)
      {
        code[i] = input.at(i) - '0';
      }
Run Code Online (Sandbox Code Playgroud)

Phi*_*hil 5

首先,do..while不是在Python中

对于你的第一个问题:

while True:
  print "Make sure the number of digits are exactly 12 : "
  x = input()

  if len(str(x)) == 12:
    break
Run Code Online (Sandbox Code Playgroud)

Python对空格敏感,并且使用制表符和空格而不是括号来管理方法.你也错过了冒号.

对于您的第二个问题,代码看起来就像您正在接受角色并将其转换为数字.你可以简单地做一个类型转换:

for i in range(12):
  code[i] = int(x[i])
Run Code Online (Sandbox Code Playgroud)