Sam*_*mir 118 python time python-3.x
我有这个程序计算回答特定问题所花费的时间,当答案不正确时退出while循环,但我想删除最后一次计算,所以我可以打电话min()
,这不是错误的时间,对不起,如果这令人困惑.
from time import time
q = input('What do you want to type? ')
a = ' '
record = []
while a != '':
start = time()
a = input('Type: ')
end = time()
v = end-start
record.append(v)
if a == q:
print('Time taken to type name: {:.2f}'.format(v))
else:
break
for i in record:
print('{:.2f} seconds.'.format(i))
Run Code Online (Sandbox Code Playgroud)
seb*_*ian 187
如果我正确理解了问题,您可以使用切片表示法来保留除最后一项之外的所有内容:
record = record[:-1]
Run Code Online (Sandbox Code Playgroud)
但更好的方法是直接删除项目:
del record[-1]
Run Code Online (Sandbox Code Playgroud)
代码可以使用一些Python习语.我强烈建议您阅读:
代码像Pythonista:惯用Python(通过支路机器存档).
Joh*_*ooy 139
你应该用这个
del record[-1]
Run Code Online (Sandbox Code Playgroud)
这个问题
record = record[:-1]
Run Code Online (Sandbox Code Playgroud)
是每次删除项目时都会复制列表,因此效率不高
mon*_*mon 10
您必须使用 *list, _ = list,如下例所示
record = [1,2,3]
*record, _ = record
record
---
[1, 2]
Run Code Online (Sandbox Code Playgroud)
你需要:
record = record[:-1]
Run Code Online (Sandbox Code Playgroud)
在for
循环之前.
这将设置record
为当前record
列表但没有最后一项.根据您的需要,您可以在执行此操作之前确保列表不为空.
归档时间: |
|
查看次数: |
215388 次 |
最近记录: |