Dado un número, construya una lista que tenga todas las combinaciones de Grados posibles para los primeros N caracteres.
Entrada : num = 3
Salida : [‘A+’, ‘A’, ‘A-‘, ‘B+’, ‘B’, ‘B-‘, ‘C+’, ‘C’, ‘C-‘]
Explicación : Todo grados hasta C prestados en la lista.
Entrada : num = 5
Salida : [‘A+’, ‘A’, ‘A-‘, ‘B+’, ‘B’, ‘B-‘, ‘C+’, ‘C’, ‘C-‘, ‘D+’ , ‘D’, ‘D-‘, ‘E+’, ‘E’, ‘E-‘]
Explicación : 5 corresponde a E, por lo tanto todas las combinaciones.
Método n.º 1: usar la comprensión de listas + ord()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de incrementar y extraer caracteres ascii usando ord() y la comprensión de listas se usa en la creación de listas de caracteres.
Python3
# Python3 code to demonstrate working of # Construct Grades List # Using list comprehension + ord() # initializing N num = 4 # Using list comprehension + ord() # each character paired to symbols and character incremented using idx # conversion by chr + ord res = [chr(ord('A') + idx) + sym for idx in range(num) for sym in ['+', '', '-']] # printing result print("Grades List : " + str(res))
Grades List : ['A+', 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'D+', 'D', 'D-']
Método #2: Usar join() + map() + product() + ascii_uppercase
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de extraer caracteres ascii usando ascii_uppercase, product() y map(), se utiliza para realizar la vinculación con símbolos, el resultado se crea después de realizar la unión de todos.
Python3
# Python3 code to demonstrate working of # Construct Grades List # Using join() + map() + product() + ascii_uppercase from string import ascii_uppercase from itertools import product # initializing N num = 4 # Using join() + map() + product() + ascii_uppercase # pairing using product, map used to join characters with symbols. res = [*map(''.join, product(ascii_uppercase[:num], ['+', '', '-']))] # printing result print("Grades List : " + str(res))
Grades List : ['A+', 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'D+', 'D', 'D-']
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA