创建一个包含数字的列表和第二个包含范围为[0-9]的字符串形式的数字的列表



我想从一个数字为0-9的现有列表中创建一个列表,但新列表中的数字是字符串形式的,例如,如果用户输入的是数字2、3、4、5,则新列表将打印[quot;2、quot;3、"4、quot?

list1 = [0,1, 2, 3, 4, 5, 6, 7, 8, 9]
list2 = ["zero","one","two","three","four","five","six","seven","eight","nine"]
list3 = []
num = int(input("give me desired rangen"))
for i in range(num):
number = int(input("give me desired numbersn"))
if number == list1[i]:
if number == list2[i]:
list3 = list2[i]

print(list3)

对于每个数字,只需通过索引访问list2

list2 = ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"]
list3 = []
num = int(input("How many numbers do you want to type: "))
for i in range(num):
number = int(input("Give a number to convert: "))
list3.append(list2[number - 1])

How many numbers do you want to type: 3
Give a number to convert: 1
Give a number to convert: 5
Give a number to convert: 9
['one', 'five', 'nine']

或者您可以将两个列表配对,然后通过键访问pairs

pairs = dict(zip(list1, list2))
num = int(input("How many numbers do you want to type: "))
for i in range(num):
number = int(input("Give a number to convert: "))
list3.append(pairs[number])

您的代码不起作用。我不知道那些if是干什么的。您只需从输入中获取数字并添加即可,将其用作list2的索引。并且您不需要list1

list2 = ["zero","one","two","three","four","five","six","seven","eight","nine"]
list3 = []
num = int(input("give me desired rangen"))
for i in range(num):
number = int(input("give me desired numbersn"))
list3.append(list2[number])
print(list3)

如果您需要较大的数字,您可以使用名为Infect的软件包,而不是自己键入数字。它有一种将数字转换成英文文本的方法:

import inflect
e = inflect.engine()
e.number_to_words(8)

输出:

'eight'
list1 = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"]
list2 = []
numbers = input("Input desired numbers: ")
numbers = numbers.split(", ")
for number in numbers:
list2.append(list1[int(number)])
print(list2)

给你

最新更新