我正在尝试编写一个代码,将用户输入的整数转换为其等效的罗马数字.到目前为止我所拥有的是:
该generate_all_of_numeral函数的关键是它为每个特定的数字创建一个字符串.例如,generate_all_of_numeral(2400, 'M', 2000)将返回字符串'MM'.
我正在努力与主程序.我开始找到M的罗马数字计数并将其保存到变量M.然后我减去符号值的M次数,以便为下一个最大数字提供下一个值.
有没有向正确的方向点头?现在我的代码甚至没有打印任何东西.
在制定了如何检查猜测是否正确的功能后,我很难说出我想要的东西.
ntries = 0
while ntries < 10:
ntries +=1
if test_guess(code,guess)==True:
print 'You win! You guessed the code in',ntries,'tries.'
elif test_guess(code,guess)==False:
guess = str(raw_input('Your guess: '))
print 'You lose!'
Run Code Online (Sandbox Code Playgroud)
问题是,当玩家成功猜测代码时,例如8次尝试,打印的结果是:
> You win! You guessed the code in 8 tries.
> You win! You guessed the code in 9 tries.
> You win! You guessed the code in 10 tries.
> You lose!
Run Code Online (Sandbox Code Playgroud)
我意识到这是因为while循环表明当ntries仍然小于10时循环继续运行.我如何才能使它只打印赢得的尝试次数并停在那里?
python ×2