import hashlib
running = True
count = 0
while running:
saved_hashes = {'input_str': [], 'md5hash': []}
if count == 1:
show_q = input('Show other str/hashes? [Y/N]')
show_q.lower()
if show_q == 'y':
print(saved_hashes)
str_input = input('Enter a string: ')
str_hash_obj = hashlib.md5(str_input.encode())
str_to_md5_hash = str_hash_obj.hexdigest()
print(f'Hash {str_to_md5_hash}')
saved_hashes['input_str'].extend(str_input)
saved_hashes['md5hash'].extend(str_to_md5_hash)
run_choice = input('Again? [Y/N]')
run_choice.lower()
if run_choice == 'y':
count += 1
continue
else:
break
这是代码。我对 Python 还是很陌生,所以我不知道为什么没有附加输入和结果。
答案 0 :(得分:0)
您想要创建 list
的字典。在 while
循环之前创建一个空列表,然后 append
字典到循环内的列表:
import hashlib
running = True
count = 0
saved_hashes = []
while running:
if count == 1:
show_q = input('Show other str/hashes? [Y/N]')
show_q.lower()
if show_q == 'y':
print(saved_hashes)
str_input = input('Enter a string: ')
str_hash_obj = hashlib.md5(str_input.encode())
str_to_md5_hash = str_hash_obj.hexdigest()
print(f'Hash {str_to_md5_hash}')
saved_hashes.append({'input_str': [str_input], 'md5hash': [str_to_md5_hash]})
run_choice = input('Again? [Y/N]')
run_choice.lower()
if run_choice == 'y':
count += 1
continue
else:
break