将数字转换为符号(Python)

将数字转换为符号(Python),python,Python,我有一个任务的问题,我需要输入数字和打印它像一个直方图符号$。一个单位是一个$symbol 例如: input 1 5 3 2 print $ $$$$$ $$$ $$ 目前的准则是: number = int(input()) while (number > 0): print('$' * number) number = 0 这只适用于一个数字 要使代码正常工作,需要做些什么?您已经很接近了,而且您的想法是正确的 当您输入一个由空格分隔的数字组成的字符串时,您

我有一个任务的问题,我需要输入数字和打印它像一个直方图符号$。一个单位是一个$symbol

例如:

input

1 5 3 2

print

$
$$$$$
$$$
$$
目前的准则是:

number = int(input())
while (number > 0):
    print('$' * number)
    number = 0
这只适用于一个数字


要使代码正常工作,需要做些什么?

您已经很接近了,而且您的想法是正确的

当您输入一个由空格分隔的数字组成的字符串时,您需要将每个数字转换为一个整数,因为默认情况下,所有参数都是用于输入的字符串

可以使用map函数将每个输入转换为整数

inp = map(int, input().split())
此处input.split将1 5 3 2转换为['1','5','3','2']

然后应用mapint[1,5,3,2]相当于对每个元素执行int1和int5

map的语法:mapfunction,Iterable函数的大小写为int

当你有整数时,你所需要做的就是取每个值并打印“$”的数字

for val in inp:
    print('$'*val)
以下是完整的代码:

inp = map(int, input().split())
for val in inp:
    print('$'*val)

$
$$$$$
$$$
$$

你可以像下面这样做

>>> x = input("Enter the numbers: ") # use `raw_input` if `python2`
Enter the numbers: 1 2 3 4 5
>>> x
'1 2 3 4 5'
>>> y = [int(z) for z in x.split()]
>>> y
[1, 2, 3, 4, 5]
>>> for i in y:
...   print('$' * i)
... 
$
$$
$$$
$$$$
$$$$$
>>> 
你可以试试这个

#get numbers as string
numbers = input('Enter numbers separated by <space> :')
# split numbers (create list)
nums = numbers.split(' ')
#loop each number
for num in nums:
    print_num = ''
    #create what to print
    for i in range(int(num)):
        print_num = print_num + '$'
    #print
    print(print_num)
您需要输入字符串1 5 3 2。的可能重复项
#get numbers as string
numbers = input('Enter numbers separated by <space> :')
# split numbers (create list)
nums = numbers.split(' ')
#loop each number
for num in nums:
    print_num = ''
    #create what to print
    for i in range(int(num)):
        print_num = print_num + '$'
    #print
    print(print_num)