代码:
import string, random
import pandas as pd
#User Input
title = input("Please Enter A Title For This Puzzle: ")
if len(title) == 0:
print("String is empty")
quit()
phrase = input("Please Enter A Phrase To Be Encoded: ")
if len(phrase) == 0:
print("String is empty")
quit()
#Numbers get assigned to the letters
nums = random.sample(range(1, 27), 26)
code = dict(zip(nums, string.ascii_lowercase))
#'Start' of Puzzle for the user
print ("The Title Of This Puzzle Is", title)
#Code for Grid
code2 = {'Number': [[nums[0]],[nums[1]],[nums[2]],[nums[3]],[nums[4]],[nums[5]],[nums[6]],[nums[7]],[nums[8]],[nums[9]],[nums[10]],[nums[11]],[nums[12]],[nums[13]],[nums[14]],[nums[15]],[nums[16]],[nums[17]],[nums[18]],[nums[19]],[nums[20]],[nums[21]],[nums[22]],[nums[23]],[nums[24]],[nums[25]]],
'Letter': list(string.ascii_lowercase),
}
df = pd.DataFrame(code2, columns = ['Number', 'Letter'])
print (df)
我目前正在尝试做的是将已输入的短语吐出随机生成的数字,而是在 #Numbers"分配给信件"注释下。
例如:你好 = 20-1-16-16-19
我已经尝试过了,但是我编写的代码是无稽之谈,需要一些外部帮助
谢谢
如果我理解正确,您正在寻找的就是这样的东西吗?
翻转数字位置
code = dict(zip(string.ascii_lowercase, nums))
code.update({" ":0})
HELLO = [code[item] for item in "hello"]
这可能不是最佳解决方案,但它有效。希望对您有所帮助。
def encode(phrase): #Takes a phrase and returns the encoded result
result = []
for char in phrase:
result.append(str(code_dict[char.lower()]))
return '-'.join(result)
nums = random.sample(range(1, 27), 26) #Creating lists of the random number and letters
letters = list(string.ascii_lowercase)
code_dict = {}
for i in range(len(letters)): #Creating a dict relating the letters to a number
key = letters[i]
value = nums[i]
code_dict[key] = value
encode(phrase) #Encoding the phrase