2016-09-02 31 views
0

いくつかの変数だけを設定できる方法はありますか?Pythonの単語の長さ

l1, l2, l3, l4, l5, l6, l7, l8, l9, = (' ',)*9 
word = input("Choose up to a 9 letter word: ") 
wordlist = list(word) 
wordl = len(word) 
l1, l2, l3, l4, l5, l6, l7, l8, l9, = (wordlist) 

もっと具体的には、誰かが6文字の単語を入力して16進数のみを設定し、17-19を空白のままにする方法がありますか?

+1

あなたは何をしようとしていますか?単語を文字に分割しますか? – Headcrab

答えて

1

本当にリストを使用する必要があります。 lリスト(あなたがl[0], l[1], ..., l[9] = ...を持っている)であれば、これはあなたが何をしたいん:

for (index, letter) in enumerate(word): 
    l[index] = letter 

は(私はあなたが割り当てられていない、後で変数を残したいためにいくつかの理由があると仮定し、あなただけの単純な文字列のパディングそれらが空白たい場合。方法は良いです)

0

入力反復可能文字をNoneのような文字列で埋め込み、その文字列を予想される長さにスライスすることができます。どんなにwordがどのように短い

l1, l2, l3, l4, l5, l6, l7, l8, l9 = (list(word) + [None]*8)[:9] 

、組み合わせた単語/ Noneリストは、少なくとも9文字が含まれています。そのスライスがエクストラをトリミングします。

ただし、それぞれの文字に別々の変数を使用する必要はありません。リストl = list(word)を保存して、 -variableの代わりにl[i]を使用してください。

1

これを行う必要はありません。未使用の文字をスペースで埋める場合は、str.ljustまたは文字列の書式設定を使用できます。

接尾語は長さワードに対応サフィックス(番号)に基づいて、私は本当にあなたがやろうとしているのか理解していないが、あなたは l1に値を割り当てる場合、 l2 ... l9
>>> 'word'.ljust(9) 
'word  ' 
>>> '{:<9}'.format('word') 
'word  ' 
1

>>> l1, l2, l3, l4, l5, l6, l7, l8, l9, = (' ',)*9 
... word = input("Choose up to a 9 letter word: ") 
... locals().update({'l'+str(len(w)): w for w in word.split() if len(w)<10}) 
... l1, l2, l3, l4, l5, l6, l7, l8, l9, 
Choose up to a 9 letter word: idoKtknow waht you trying ti do ? 
10: ('?', 'do', 'you', 'waht', ' ', 'trying', ' ', ' ', 'idoKtknow') 
+0

どうしたらうまくいくのですか?あなたはちょうどリストを分割してから、各文字増分1 varごとに長さを印刷できませんでしたか? – thesonyman101

+0

OPは私が理解したことに基づいて、単語の長さの後に続く変数に単語を割り当てたいと考えています。そして上記は同じものに対してうまくいく! – wolframalpha

+0

ああ笑よくいい名前の笑 – thesonyman101

関連する問題