繁体   English   中英

数字猜谜游戏的编码问题

[英]Coding Issue with Number Guessing Game

请有人能帮我弄清楚我们这里出了什么问题……它在第一次猜测后就停止了

游戏规则在 print() 文本中 - 谢谢


import random
num = random.randint(1,100)

print("WELCOME TO GUESS ME!")
print("I'm thinking of a number between 1 and 100")
print("If your guess is more than 10 away from my number, I'll tell you you're COLD")
print("If your guess is within 10 of my number, I'll tell you you're WARM")
print("If your guess is farther than your most recent guess, I'll say you're getting COLDER")
print("If your guess is closer than your most recent guess, I'll say you're getting WARMER")
print("LET'S PLAY!")

xs = [0]

while True:

    x = int(input("I'm thinking of a number between 1 and 100.\n  What is your guess? "))
    
    if x < 1 or x > 100:
        print('OUT OF BOUNDS! Please try again: ')
        continue
    
    if x == num:
        print(f'CONGRATULATIONS, YOU GUESSED IT IN ONLY {len(xs)} GUESSES!!')
        break
        
    xs.append(x)
    
    if xs[-2]:  
        if abs(num-x) < abs(num-x[-2]):
            print('WARMER!')
        else:
            print('COLDER!')
   
    else:
        if abs(num-x) <= 10:
            print('WARM!')
        else:
            print('COLD!')
     

小错字,您的代码工作正常:


import random
num = random.randint(1,100)

print("WELCOME TO GUESS ME!")
print("I'm thinking of a number between 1 and 100")
print("If your guess is more than 10 away from my number, I'll tell you you're COLD")
print("If your guess is within 10 of my number, I'll tell you you're WARM")
print("If your guess is farther than your most recent guess, I'll say you're getting COLDER")
print("If your guess is closer than your most recent guess, I'll say you're getting WARMER")
print("LET'S PLAY!")

xs = [0]

while True:
    x = int(input("I'm thinking of a number between 1 and 100.\n  What is your guess? "))

    if x < 1 or x > 100:
        print('OUT OF BOUNDS! Please try again: ')
        continue

    if x == num:
        print(f'CONGRATULATIONS, YOU GUESSED IT IN ONLY {len(xs)} GUESSES!!')
        break
        
    xs.append(x)

    if xs[-2]:  
        if abs(num-x) < abs(num-xs[-2]):
            print('WARMER!')
        else:
            print('COLDER!')

    else:
        if abs(num-x) <= 10:
            print('WARM!')
        else:
            print('COLD!')


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM