dictionary - How to convert numbers into strings in python? 1 -> 'one' -
if want program let user input number (e.g. 1, 13, 4354) how can print (one, thirteen, 4 3 5 four) make sense? if it's 2 digit, print though it's joined (thirty-one) if it's more 2 print them sepretly, 1 same line joined space, tried dictionary, , think it's possible, can't figure out how it?
l = input('enter number: ') if len(l) > 2: nums = {'1':'one', '2':'two', '3':'three', '4':'four', '5':'five', '6':'six', '7':'seven', '8':'eight', '9':'nine'} elif len(l) == 2: tens = {'10'} k, v in nums.items(): print(k, v)
this wrong code, finished result this? in advance!
to access items dictionary, can dictionary[key]
. value
returned.
let's input "8"
.
you can print nums[l]
(inside conditional statement), , return "eight"
.
also, it's better if create dictionaries outside of conditional structures prevent nameerrors
, can access both dictionaries anywhere.
if have input "324"
, can use combination of str.join()
, list comprehension:
l = "324" nums = {'1':'one', '2':'two', '3':'three', '4':'four', '5':'five', '6':'six', '7':'seven', '8':'eight', '9':'nine'} print ' '.join(nums[i] in l)
explanation:
[nums[i] in l]
same as:
returned_list = [] number in l: returned_list.append(d[number])
str.join()
joins every item in list together, separated space. ' '.join(['one', 'two', 'three'])
returns 'one 2 three'
Comments
Post a Comment