例如A = 1,B = 2 ... Z = 26 该名称是自动生成的,必须等于200,用字母的总和。 e.g。
A = 1
AB = 3 etc
创建一个函数来创建一个值为200的自动生成字符串数组时会采取哪些步骤?
如何在Python中完成?
答案 0 :(得分:2)
您希望在某些约束下生成字符串。 这是一种优化问题。但是,我们不需要在这里雇用任何机器学习。
一种可能的解决方案可能看起来像这样(抱歉,没有python,只是伪代码)
name = ""
#initialize name variable place = selectPlaceWhereToInsertNextCharacter(name)
char = selectNextRandomCharacter()
name
将char
放入place
评论:
selectNextRandomCharacter
必须选择下一个字符,该值小于目前构建的名称中的剩余空间。
我们假设您当前的名称为"zzz"
,因此其值为174
。您选择的下一个字母不能大于200 - 174
。你会溢出来的。
要做到这一点 - 只需选择适当范围内的下一个整数并将其映射到char。selectPlaceWhereToInsertNextCharacter(name)
它只是选择放置下一个字符的位置。例如,如果名称为"pawel"
,则有6个plces可以混合使用新的字母。这是因为我认为这个名字必须是随机的。sum(map(lambda x: ord(x)-64, name))