Saya memiliki program ini yang menghitung waktu yang diperlukan untuk menjawab pertanyaan tertentu, dan keluar dari loop sementara ketika jawaban salah, tetapi saya ingin menghapus perhitungan terakhir, jadi saya dapat memanggil min()
dan itu bukan waktu yang salah, maaf jika ini membingungkan.
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))
sumber
Anda harus menggunakan ini
Masalah dengan
Apakah itu membuat salinan daftar setiap kali Anda menghapus item, jadi tidak sangat efisien
sumber
list.pop()
menghapus dan mengembalikan elemen terakhir dari daftar.sumber
Anda membutuhkan:
sebelum
for
loop.Ini akan diatur
record
kerecord
daftar saat ini tetapi tanpa item terakhir. Anda dapat, tergantung pada kebutuhan Anda, ingin memastikan daftar tersebut tidak kosong sebelum melakukan ini.sumber
record.pop()
? (NB: Saya sangat baru untuk python)pop
tetapi itu tidak benar-benar diperlukan jika Anda hanya ingin membuang barang itu.Jika Anda melakukan banyak hal dengan pengaturan waktu, saya dapat merekomendasikan manajer konteks kecil (20 baris) ini:
Kode Anda dapat terlihat seperti ini:
Hanya untuk referensi, inilah isi dari Timer pengelola konteks secara penuh:
sumber
cukup gunakan
list.pop()
sekarang jika Anda ingin menggunakan cara lain:list.popleft()
sumber
Jika Anda memiliki daftar daftar ( tracked_output_sheet dalam kasus saya), tempat Anda ingin menghapus elemen terakhir dari setiap daftar, Anda dapat menggunakan kode berikut:
sumber