2017-04-11 1 views
0

Est-il possible d'affecter des variables via la fonction input() dans Python 3? Dans mon cas, j'essaie de donner à l'utilisateur la possibilité d'affecter des objets aux variables d'une liste.affectation de variables via la fonction input()

Mon idée serait de taper la assignement variables directement dans l'argument de la fonction d'entrée:

board=[f1,f2,f3,f4,f5,f6,f,f8,f9] 

input(f1=some_Object) 

print(board[0]) 

Résultat print(board[0]) devrait alors être some_object. La même procédure devrait alors également fonctionner pour f2, f3 ... f6.

Toutefois, cela ne fonctionne pas, il produit l'erreur suivante:

Traceback (most recent call last): 
File "C:/Users/Christian/AppData/Local/Programs/Python/Python35-32/Tic Tac 
Toe.py", line 1, in <module> 
board=[f1,f2,f3,f4,f5,f6] 
NameError: name 'f1' is not defined 

si im me demandais s'il y a un moyen de le faire dans Python.

Merci pour votre aide.

+3

S'il vous plaît expliquer ce que vous entendez par « cela ne fonctionne pas ». –

+0

Vous voulez dire quelque chose comme 'board [0] = input()'? – timgeb

+0

J'ai ajouté l'erreur que je veux dire avec 'ça ne marche pas'. @ Scott Hunter –

Répondre

1

La façon d'assigner une variable input() est la suivante:

my_variable = input("Some prompt ") 

Si vous voulez alors voir la sortie pour vous convaincre, vous pouvez ajouter:

print(my_variable) 

Cette sortie sera de retour à vous tout ce que vous entrez.

Dans votre cas, vous pouvez faire

board[0] = input("Enter a value: ") 
+0

Le problème que j'ai avec ceci, c'est qu'il spécifie quel elemten de la liste devrait être assigné à la valeur, cependant je veux que ce soit à l'utilisateur. Il devrait être capable de choisir. –

+0

Pour comprendre, vous voulez que l'utilisateur spécifie à la fois la valeur et la position dans la liste? – MLavrentyev