Python字长

2024-09-27 04:20:37 发布

您现在位置: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个字母的单词,它只会设置l6,而将l7-l9留空?你知道吗


Tags: l1inputwordupwordlistl3办法choose
3条回答

你真的应该用列表。如果l是一个列表(所以你有l[0], l[1], ..., l[9] = ...),这就是你想要的:

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

(我假设您有一些理由希望不指定后面的变量。如果您只希望它们为空,则使用更简单的字符串填充方法更好)

我真的不明白你想做什么,但如果你想赋值给l1l2。。。l9根据后缀(数字),后缀对应于单词的长度,代码如下:

>>> 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')

你不需要做这些。如果要用空格填充未使用的字符,可以使用str.ljust或字符串格式。你知道吗

>>> 'word'.ljust(9)
'word     '
>>> '{:<9}'.format('word')
'word     '

相关问题 更多 >

    热门问题