我想从一个数字为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)
给你