我的任务是为我的SE课程创建一个基本的Wordle复制品.基本的模型很简单,但我正在努力修复复制的黄色.例如,如果所需的单词是"Paste",而猜测结果是"Teats",则代码应打印出来;t(white)-e(yellow)-e(white)-t(green)-h(white).我刚刚开始学习Python,所以它可能效率不高.

我将如何修复以下代码:

from rich import print

target_word = 'paste'

solved = False 
word = input('Enter a word: ')
n = 0
while n < 6 and not solved:
  hw = [""] * 5
  nongreen = []
  green = []
  if word != target_word:
      for i in range(0,5):
          if word[i] == target_word[i]:
              hw[i] = "[on green]" + target_word[i]
              green.append(word[i])
          else:    
              nongreen.append(word[i])
      print(nongreen)
      for i in range(0,5):
          if not hw[i]:
              if word[i] not in green:
                  hw[i] = "[on yellow]" + word[i]
                  nongreen.remove(word[i])
              else:
                  hw[i] = "[on white]" + word[i]    
      print("".join(hw))
      word = input('Enter a word: ')
  else:
      solved = True
  n += 1  
print("[on green]" + target_word)
print(f'You got it in {n} tries')`

推荐答案

from rich import print

target_word = 'flass'
solved = False 
word = input('Enter a word: ')
if len(word) == 5 :
    n = 0
    while n < 6 and not solved:
        hw = [""] * 5
        nongreen = []
        green = []
        dublicate = set()
        if word != target_word:
            for i in range(0,5):
                if word[i] == target_word[i]:
                    hw[i] = "[green]" + target_word[i]
                    green.append(word[i])
                else:    
                    nongreen.append(word[i])
            for i in range(0,5):
                if not hw[i]:
                    if word[i] in target_word and word[i] not in green:
                        hw[i] ="[yellow]" + word[i]
                    else:
                        hw[i] ="[white]" + word[i]    
            print("".join(hw))
            word = input('Enter a word: ')
        else:
            solved = True
        n += 1  
        if solved:
            print("[green]" + target_word)
            print(f'You got it in {n} tries')
        else:
            print(f'Try {n+1}')
    if not solved:
        print("you've exhausted all tries.")
else:
    print("Please enter5 characters.")

in code you check only char is not in green. 但是如果你在target_word中添加char,使用这个条件判断char是否存在.

Python相关问答推荐

对某些列的总数进行民意调查,但不单独列出每列

在Python Attrs包中,如何在field_Transformer函数中添加字段?

无法定位元素错误404

在Python中动态计算范围

ThreadPoolExecutor和单个线程的超时

在www.example.com中使用`package_data`包含不包含__init__. py的非Python文件

CommandeError:模块numba没有属性generated_jit''''

旋转多边形而不改变内部空间关系

在Python中计算连续天数

交替字符串位置的正则表达式

OpenGL仅渲染第二个三角形,第一个三角形不可见

提高算法效率的策略?

Python日志(log)库如何有效地获取lineno和funcName?

如何在Python中解析特定的文本,这些文本包含了同一行中的所有内容,

在Pandas 中以十六进制显示/打印列?

将索引表转换为Numy数组

在Django REST框架中定义的URL获得404分

Sknowled线性回归()不需要迭代和学习率作为参数

如何将参数名作为参数传入到函数中?

跨两个数据帧收集非索引列上的公共组