为什么Python代码跳过while循环?

2024-10-01 04:57:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在构建一个猜测程序,用户的输入范围在1-100之间。在

为什么它跳过第二个while循环,我检查用户输入并转发它。直接从1号开始

import random

nums_lasted = []
a = 0
while a < 101:
    nums_lasted.append(a)
    a += 1
secret_num = 1
while secret_num < 0 or secret_num > 100:
    try:
        secret_num = int(input("My number is"))
    except ValueError:
        print("No way that was an integer!")
guess_pc = 50
min = 50
max = 101
while True:
    print("Is it", guess_pc,"?")
    if guess_pc == secret_num:
        print("Easy")
        break
    elif guess_pc > secret_num:
        max = guess_pc
        nums_lasted.append(guess_pc)
        nums_lasted1 = [i for i in nums_lasted if i < guess_pc]
        nums_lasted = nums_lasted1
    elif guess_pc < secret_num:
        min = guess_pc
        nums_lasted.append(guess_pc)
        nums_lasted1 = [i for i in nums_lasted if i < guess_pc]
        nums_lasted = nums_lasted1
    guess_pc = random.choice(nums_lasted)

Tags: secretifrandomminnummaxprintpc
2条回答
secret_num = 1
while secret_num < 0 or secret_num > 100:

您将secret_num设置为1。只有当while小于0或大于100时,while才会运行,因此它永远不会被执行。在

因为条件secret_num < 0 or secret_num > 100对于secret_num == 1为false。1肯定在0到100之间。{cd100>应该设置为比这个更大的值。在

相关问题 更多 >