Nivel 10.8 del libro de problemas Python

Задание 1

Escribe un código que verifique la complejidad de una contraseña. Inventa los criterios de complejidad tú mismo.

Задание 2

Dada una lista. Muestra en la consola todas las variaciones de permutación de los elementos de esta lista.

Задание 3

Muestra la lista de todos los números amigos de un intervalo dado.

Задание 4

Supongamos que en un archivo se almacena un JSON de ciudades del siguiente tipo:

cities.json{
  [
    "id": "1",
    "city": "city1",
    "country": "country1",
  ],
  [
    "id": "2",
    "city": "city2",
    "country": "country1",
  ],
  [
    "id": "3",
    "city": "city3",
    "country": "country2",
  ]
}

Supongamos que en un archivo se almacena un JSON de países del siguiente tipo:

countries.json{
  [
    "id": "1",
    "country": "country1",
  ],
  [
    "id": "2",
    "country": "country2",
  ],
  [
    "id": "3",
    "country": "country3",
  ]
}

Escribe un script que, en lugar de los países, sustituya sus id:

cities.json{
  [
    "id": "1",
    "city": "city1",
    "country_id": "1",
  ],
  [
    "id": "2",
    "city": "city2",
    "country_id": "1",
  ],
  [
    "id": "3",
    "city": "city3",
    "country_id": "2",
  ]
}