鱼C论坛

 找回密码
 立即注册
查看: 1983|回复: 4

[已解决]循环

[复制链接]
发表于 2023-8-5 23:47:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目:
编写 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")


我知道我的答案是错的,我是才刚开始自学,勿喷!
希望大佬们指导
最佳答案
2023-8-5 23:48:08
问题:循环 Python交流

我的建议是对代码进行一些修改,以使其满足题目需求。以下是修改后的代码:
import randomdef 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()函数来运行程序。希望这段代码能帮助到你,如有更多问题,请随时提问。

如果回答对你有帮助,请给我一个最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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"时,程序会打印出猜测的数字,并结束运行。希望对你有帮助!如果还有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-8-5 23:48:08 | 显示全部楼层    本楼为最佳答案   
问题:循环 Python交流

我的建议是对代码进行一些修改,以使其满足题目需求。以下是修改后的代码:
import randomdef 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()函数来运行程序。希望这段代码能帮助到你,如有更多问题,请随时提问。

如果回答对你有帮助,请给我一个最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-6 00:04:44 | 显示全部楼层
isdkz 发表于 2023-8-5 23:48
你的代码有一些问题。首先,你没有导入random模块,所以需要在开头添加 import random 。其次,你需要将输 ...

好的,谢谢大佬!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-25 21:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表