小编Jar*_*ett的帖子

<Python> for循环中的两个迭代变量

让我从通用的开始,我是Python的初学者.嗨,我是Python的初学者,所以请保持响应与普通英语尽可能紧密对齐:)

我一直在运行这些for循环,其中for循环中有两个迭代变量.这对我来说非常困惑,因为我只是围绕着for循环的基本概念.那就是你的迭代变量一次一行地通过for循环运行(在大多数情况下).那么两个迭代变量的作用是什么呢?我有一些猜测,但我想要正确的答案,把我的想法放在正确的方向.

有人会输入for循环的读取方式(用口语来说)并解释究竟发生了什么.

>>> elements = ('foo', 'bar', 'baz')
>>> for elem in elements:
...     print elem
... 
foo
bar
baz
>>> for count, elem in enumerate(elements):
...     print count, elem
... 
0 foo
1 bar
2 baz
Run Code Online (Sandbox Code Playgroud)

python iteration iterator loops for-loop

5
推荐指数
1
解决办法
1万
查看次数

如何将用户输入作为浮点数?

我正在运行Python 2.7.10.我正在处理的程序中有以下代码块.

with open('inventory.txt', 'r+') as f:
  inventory = {}
  while True:
    item = raw_input('Item: ')
    inventory[item] = raw_input('Price: ')
    if item == '':
      del inventory['']
      break

  inv = str(inventory)
  f.write(inv).rstrip()
  print inventory
  print inv
  print f.read()
Run Code Online (Sandbox Code Playgroud)

它的作用是提示用户输入项目和价格,然后将所有这些存储为键/值对,然后将该最终字典写入第二个文本文件.然而,在第5行,它似乎是唯一的输入类型,除了有一个字符串.我试图用float()包围raw_input,并尝试使额外的变量无济于事.我能够将raw_input包装在一个int()中,它可以工作,所以它把我扔了.

当我将第5行更改为库存[item] = float(raw_input('Price:'))时,我收到以下错误:

File "C:\Users\Jarrall\Desktop\store\script.py", line 5, in <module>
inventory[item] = float(raw_input('Price: '))
ValueError: could not convert string to float: 
Run Code Online (Sandbox Code Playgroud)

我必须对代码进行哪些更改,以便当用户在第5行输入数值时,它会保存到字典而不是字符串(当前)?

python io input python-2.7

-3
推荐指数
1
解决办法
2万
查看次数

标签 统计

python ×2

for-loop ×1

input ×1

io ×1

iteration ×1

iterator ×1

loops ×1

python-2.7 ×1