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