诺安的老公 发表于 2023-3-18 21:06:28

求助

love = "yes"
while love == "yes"
      love = input("今天你还爱我吗?")

今天你还爱我吗?yes
今天你还爱我吗?yes
今天你还爱我吗?yes
今天你还爱我吗?yes
今天你还爱我吗?no


想问一下这串代码最后的input("今天你还爱我吗?")是什么作用。
我现在有点理解不了,我的理解是:
第一句:yes赋给love
第二句:判断love与yes是否相等
第三句:今天你还爱我吗这句话赋给love
为什么不是print("今天你还爱我吗?")

歌者文明清理员 发表于 2023-3-18 21:09:14

本帖最后由 歌者文明清理员 于 2023-3-18 21:11 编辑

因为print不能获取输入
提防机器回答
这段代码的作用是让程序不停地询问用户是否还爱TA,直到用户回答“no”为止。
具体的实现方式是:
1. 将love变量赋值为“yes”。
2. 进入while循环,只要love等于“yes”,就一直循环。
3. 在每次循环开始时,调用input函数,显示“今天你还爱我吗?”这个字符串,并等待用户输入答案。
4. 用户输入的答案会被赋值给love变量,因此程序可以根据用户的回答来判断是否继续循环。
如果用户回答“yes”,程序会再次询问“今天你还爱我吗?”,直到用户回答“no”为止。如果用户回答“no”,程序就会跳出循环,结束执行。
至于为什么不是print而是input,是因为我们需要让用户输入答案,而不是仅仅显示一个字符串。
这是ChatGPT说的

歌者文明清理员 发表于 2023-3-18 21:18:24

等等 while循环少了冒号

isdkz 发表于 2023-3-18 21:56:02

本帖最后由 isdkz 于 2023-3-18 21:57 编辑

这段代码的作用是让用户不断地输入"今天你还爱我吗?",直到用户输入的不是"yes",才停止输入。

其中input("今天你还爱我吗?")是用于获取用户输入的函数。每次执行这个函数,程序会等待用户输入,并将用户输入的内容赋值给love变量。

然后程序会检查love变量是否等于"yes",如果等于"yes",程序会再次执行input("今天你还爱我吗?"),继续等待用户输入。如果love变量不等于"yes",程序会停止执行。

至于为什么不是print("今天你还爱我吗?"),因为print函数只是将括号中的内容输出到屏幕上,而并不会等待用户输入。而input函数则是用于获取用户输入的函数。

诺安的老公 发表于 2023-3-18 21:57:12

歌者文明清理员 发表于 2023-3-18 21:09
因为print不能获取输入
提防机器回答



好的谢谢,我现在理解了。{:5_92:}

诺安的老公 发表于 2023-3-18 21:58:05

歌者文明清理员 发表于 2023-3-18 21:18
等等 while循环少了冒号

sorry我的锅,谢谢

MrPencil 发表于 2023-3-19 09:25:27

{:10_277:}
页: [1]
查看完整版本: 求助