Whalefall126 发表于 2023-8-5 23:47:51

循环

题目:
编写 Python 代码,尝试猜测 1 到 100 之间的数字。计算机不会非常智能,只会选择该范围内的随机数字并询问是否猜对。如果用户说“no”,程序应再次循环,生成该范围内的另一个随机数。这种情况一直持续到用户没有说“no”为止,此时程序应该打印“万岁,你的号码是 NN”,其中 NN 是号码。

以下是交互的示例:

选择 1 到 100 之间的一个数字,我会尝试猜测
你的数字是 39 吗?否
你的号码是 58 吗?否
你的号码是 33 吗?否
你的号码是 62 吗?是的
万岁,你的号码是 62

要编写此程序,可能需要参考前面的随机数和更改类型中的主题

我的代码:
import math
number = input("Pick a number between 1 and 100 and I'll try to guess it:")
random = random.randint(1,100)
print("Is your number",random,"?")
answer = input("yes or no:")

while(answer == no):
    print("Is your number", random,"?")
    random = random.randint(1,100)
    answer = input("yes or no:")

while(answer == yes):
    print("Hooray, your number was 62")


我知道我的答案是错的,我是才刚开始自学,勿喷!
希望大佬们指导

isdkz 发表于 2023-8-5 23:48:06

你的代码有一些问题。首先,你没有导入random模块,所以需要在开头添加 import random 。其次,你需要将输入的数字转换为整数类型,因为input函数返回的是字符串。你可以使用 int() 函数来实现类型转换。最后,你的循环条件应该是 answer != "yes" 而不是 answer == no ,因为你想要在用户回答"yes"时退出循环。

以下是修改后的代码:

import random

number = int(input("选择一个1到100之间的数字,我会尝试猜测:"))
random_num = random.randint(1, 100)
print("你的数字是", random_num, "吗?")
answer = input("是或否:")

while answer != "yes":
    print("你的数字是", random_num, "吗?")
    random_num = random.randint(1, 100)
    answer = input("是或否:")

print("万岁,你的号码是", random_num)


这样,程序会不断猜测数字,直到用户回答"yes"为止。当用户回答"yes"时,程序会打印出猜测的数字,并结束运行。希望对你有帮助!如果还有其他问题,请随时提问。

学习编程中的Ben 发表于 2023-8-5 23:48:08

问题:循环 Python交流

我的建议是对代码进行一些修改,以使其满足题目需求。以下是修改后的代码:

import random

def guess_number():
    print("选择 1 到 100 之间的一个数字,我会尝试猜测")
    random_num = random.randint(1, 100)
    print("你的数字是", random_num, "吗?")
    answer = input("是或否:")

    while answer.lower() != "是":
      print("你的数字是", random_num, "吗?")
      random_num = random.randint(1, 100)
      answer = input("是或否:")

    print("万岁,你的号码是", random_num)

guess_number()


在上述代码中,我定义了一个名为guess_number的函数,该函数用于实现猜数字的功能。首先,程序生成一个随机数并询问用户是否猜对了。如果用户回答不是,程序将循环执行生成新的随机数并继续询问,直到用户回答是为止。最后,程序打印出猜对的数字。

请注意在代码中使用random.randint(1, 100)来生成1到100之间的随机数,并使用.lower()方法将输入的回答转换为小写,从而使得用户输入的回答不区分大小写。

你可以直接调用guess_number()函数来运行程序。希望这段代码能帮助到你,如有更多问题,请随时提问。

如果回答对你有帮助,请给我一个最佳答案!{:10_254:}{:10_254:}{:10_254:}

Whalefall126 发表于 2023-8-5 23:56:24

我会了
import random
number = input("Pick a number between 1 and 100 and I'll try to guess it:")
random_num = random.randint(1,100)
print("Is your number",random_num,"?")
answer = input("yes or no:")
while(answer == 'no'):
    random_num = random.randint(1,100)
    print("Is your number", random_num,"?")
    answer = input("yes or no:")
print("Hooray, your number was:",random_num)

Whalefall126 发表于 2023-8-6 00:04:44

isdkz 发表于 2023-8-5 23:48
你的代码有一些问题。首先,你没有导入random模块,所以需要在开头添加 import random 。其次,你需要将输 ...

好的,谢谢大佬!
页: [1]
查看完整版本: 循环