如何在Python生成word-lis时设置启动和停止输入

2024-03-29 15:04:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我努力想弄清楚如何为我的Python单词列表生成器输入start和stop单词。你知道吗

这是我的密码:

import itertools

   wrds = 'abcd0123'
   n = 5

   for i in itertools.product(wrds, repeat = n):
      a = ''.join(i)
      print(a)

我的生成器像往常一样给我这样的输出:aaaaaaaaabaaaac,。。。你知道吗

但是,如何设置输入以获取起点和终点呢?。你知道吗

我的长度是5。例如,我想从aaac1生成aaad3。 我怎样才能做到这一点?我完全卡住了。你知道吗


Tags: inimport密码列表forproduct单词start
1条回答
网友
1楼 · 发布于 2024-03-29 15:04:06

非常常见的和初学者的做法是

import itertools

start_string=input("Enter start string: ")
end_string=input("Enter ending string: ")

wrds = 'abcd0123'
n = 5
empty_list=[]

for i in itertools.product(wrds, repeat = n):
    empty_list.append(''.join(i))

if start_string in empty_list:
    start_=empty_list.index(start_string)


if end_string in empty_list:
    end_=empty_list.index(end_string)

print(empty_list[start_:end_+1])

用下面的代码逐行替换最后一个print语句

for item in empty_list[start_:end_+1]:
    print(item)

如果您希望以随机索引顺序传递起始字符串和结束字符串,并且希望让代码本身决定索引,那么可以使用下面的代码

import itertools

string_1=input("Enter start string: ")
string_2=input("Enter ending string: ")

wrds = 'abcd0123'
n = 5
empty_list=[]

for i in itertools.product(wrds, repeat = n):
    empty_list.append(''.join(i))

if string_1 in empty_list:
    index_1=empty_list.index(string_1)

if string_2 in empty_list:
    index_2=empty_list.index(string_2)

if index_1 > index_2 :
    start_ = index_2
    end_ = index_1 + 1
else :
    start_ = index_1
    end_ = index_2+1

for item in empty_list[start_:end_]:
    print(item)

要获得count,可以使用len()函数

print("Length: ", len(empty_list[start_:end_]))

如果您想在Python基础知识方面找到一个好的开端,我建议您阅读https://docs.python.org/3.6/tutorial/index.html。它很小,一天就能阅读。你知道吗

相关问题 更多 >