【发布时间】:2015-11-24 17:51:10
【问题描述】:
我在 python 方面相当新(一般来说,编程,刚开始 2 个月前)。我的任务是创建一个程序,该程序采用用户起始字符串(即“11001100”)并根据一组规则打印每一代。然后它在重复用户开始字符串时停止。但是,我什至不知道从哪里开始。我对元胞自动机的概念有模糊的了解,因此不知道如何将其实现到脚本中。
理想情况下,它将获取用户输入字符串“11001100”(gen0)并查看我创建的规则集并将其转换为“11001100”将是“00110011”(gen1),然后将其再次转换为(gen3)并再次返回(gen4),直到返回到用户提供的原始输入(gen0)。我的规则集如下:
print("What is your starting string?")
SS = input()
gen = [SS]
while 1:
for i in range(len(SS)):
if gen[-1] in gen[:-2]:
break
for g in gen:
print(g)
newstate = {
#this is used to convert the string. we break up the users string into threes. i.e if user enters 11001100, we start with the left most digit "1" and look at its neighbors (x-1 and x+1) or in this case "0" and "1". Using these three numbers we compare it to the chart below:
'000': 1 ,
'001': 1 ,
'010': 0 ,
'011': 0 ,
'100': 1 ,
'101': 1 ,
'110': 0 ,
'111': 0 ,
}
我将不胜感激任何帮助或进一步解释/虚拟证明解释如何使其工作。
【问题讨论】:
-
请修正您的格式和缩进,此代码目前尚不清楚您要实现的目标。技巧提示,复制并粘贴您的代码,然后将其全部突出显示并按
ctrl+k -
很抱歉。我对此还是陌生的。我删除了我的代码,只是用文字解释了我想要实现的目标。
-
您最好发布您尝试过的代码(只需确保其格式正确),以便我们可以帮助您并向您展示哪里出错并修复它。 SO 不是代码编写服务
-
我尝试过的代码在技术上并不是已经“尝试过”的代码。我不知道如何完全实现对我的要求。在我学习 Python 的过程中,我基于目前所知道的知识构建了更多的基本结构。
-
我已经重新添加了我认为对我提出的要求的基本结构化构建块(最好的表达方式)。我真的不知道从这里去哪里,也没有给我任何关于这些材料的讲座。我只是收到一张纸,告诉我“在这里编码”......对于大学的 100 级课程,其重点是“没有任何编码经验”的学生,这有点超出我的掌握完成。
标签: python