在字符串内构建一个FOR循环,该循环将用于提示用户输入

时间:2019-07-17 15:36:13

标签: python for-loop input

我很难解决我认为应该是一个简单的问题。我有一本字典,它由一个键(代表选项#的整数)和一个值(描述选项的字符串)组成。我需要在输入函数内部的单独一行上打印每个键值对。

file_codes = {2: 'iosFile',
              3: 'startup',
              4: 'running'}
host_ip = '10.10.10.10'
users_numeric_entry = int(input(f'Please pick a configuration to copy for: {host_ip}\n))

输入提示应如下所示:

Please pick a configuration to copy for: 10.10.10.10

2 - iosFile
3 - startup
4 - running
: 

我觉得我需要创建一个for循环来遍历字典,但是我很难拿出代码来实现所需的输出。

4 个答案:

答案 0 :(得分:2)

我会先打印出内容,然后仅提示r['response']['docs'][99]

:

如果您使用的是python 2.x,则不对字典进行排序,并且不能保证它将按您期望的顺序打印。在python 3.6及更高版本中,它们是有序的。

答案 1 :(得分:2)

类似这样的东西:

file_codes = {2: 'iosFile',
              3: 'startup',
              4: 'running'}
host_ip = '10.10.10.10'
menu = '\n'.join(['{} - {}'.format(k, v) for k, v in file_codes.items()])
users_numeric_entry = int(input(f'Please pick a configuration to copy for: {host_ip}\n {menu}'))

答案 2 :(得分:2)

我大力提倡Python中的字符串格式。我建议您研究''.format()选项的功能。

for k, v in sorted(file_codes.items()):
      print('{} - {}'.format(k, v))

答案 3 :(得分:-2)

In [34]: file_codes = {2: 'iosFile', 
    ...:               3: 'startup', 
    ...:               4: 'running'}                                                                                                                                                                                                                                                                                          

In [35]: for k,v in sorted(file_codes.items(), key=operator.itemgetter(0)): print(k, '-', v)                                                                                                                                                                                                                                  
2 - iosFile
3 - startup
4 - running