python - 为什么我的 python 代码不能正常运行?

标签 python

我的 python 代码如下,但它不起作用。

import random

secret = random.randint (1, 99)
guess = 0
tries = 0

print "AHOY! I'm the Dread Pirate Oliver and I have a secret!"
print "I will tell you where my treasure is buried if you can guess the number that I'm thinking of."
print "It is a number from 1 to 99. I'll give you 6 tries."

while guess != secret and tries < 6:
    guess = input ("What's yer guess? ")
    if guess < secret:
        print "Too low ye scurvy dog!"
    elif guess > secret:
        print "Too high, landlubber!"
    tries = tries + 1

if guess == secret:
    print "Avast! Ye got it! Found ma secret number, ye did!"
    print "THE FIRST WORD IS: Awesome"
else:
    print "No more guesses! Better luck next time, Matey!"
    print "Ma secret number wuz", secret
raise SystemExit()

import random

secret = random.randint (1, 99)
guess = 0
tries = 0

print "AHOY THERE!"
print "ME AGAIN"
print "I will tell you the second word if you can guess the number that I'm thinking of."
print "It is a number from 1 to 99. I'll give you 6 tries."

while guess != secret and tries < 6:
    guess = input ("What's yer guess? ")
    if guess < secret:
        print "Too low ye scurvy dog!"
    elif guess > secret:
        print "Too high, landlubber!"
    tries = tries + 1

if guess == secret:
    print "Avast! Ye got it! Found ma secret number, ye did!"
    print "THE SECOND WORD IS: Land"
else:
    print "No more guesses! Better luck next time, Matey!"
    print "Ma secret number wuz", secret
raise SystemExit()    

import random

secret = random.randint (1, 3)
guess = 0
tries = 0

print "AHOY! One more thing"
print "It is a number from 1 to 3. I'll give you 1 try."

while guess != secret and tries < 1:
    guess = input ("What's yer guess? ")
    if guess < secret:
        print "Too low ye scurvy dog!"
    elif guess > secret:
        print "Too high, landlubber!"
    tries = tries + 1

if guess == secret:
    print "Avast! Ye got it! Found ma secret number, ye did!"
    print "It's buried in the sand at 36 degrees North, 48 degrees east."
else:
    print "No more guesses! Better luck next time, Matey!"
    print "Ma secret number wuz", secret
raise SystemExit()
import random

secret = random.randint (1, 99)
guess = 0
tries = 0
print "Congratz. You won!"

在 raise SystemExit() 部分,我希望这个人如果没有猜到最后一点就无法继续。它甚至没有启动,但是当我取出 raise SystemExit() 时,它会工作但会继续运行,即使他们没有猜对。我应该放什么来做我想做的事?

最佳答案

这一行应该缩进,以便它是 else block 的一部分,否则即使猜测正确,它也会一直执行:

raise SystemExit()

调用 sys.exit() 可能会更好。

此外,如果你想做某事两次,而不是复制和粘贴你的代码,你应该创建一个函数并调用它两次:

def play():
    # ...

number_of_games = 2
for i in range(number_of_games):
    play()

关于python - 为什么我的 python 代码不能正常运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4926300/

相关文章:

python - 为什么我的 winfo_screenwidth() 和 winfo_screenwidth() 得到一些奇怪的数字? Tkinter

python - 如何在异步 Python 函数中指定返回类型?

python - Python 中模除法的奇数输出

Python 或 LibreOffice 保存使用密码加密的 xlsx 文件

python - 需要从 Unix shell -> Python -> & 返回进行控制

python - 从文档字符串生成 DITA xml

python - 基于python中的条件绘制多色线

python - 仅针对特定 ID/主题进行训练/测试拆分

python - 如何找到两点之间的距离?

python - 高效算法perl或python