学径 LearnPath

CAICP-E · Python 编程基础

程序会提问

用 input 问一句,再把回答打印回去。

讲解模式

这一节要学会什么

#what

上一课的欢迎词,字是你提前写好的。这节课让程序开口提问。

工具是 input。你会写出提示语。 你会把回答放进变量。再打印一句专属问候。

最要紧的一句: input 拿到的永远是文字。

小目标很具体: 问姓名、爱好,也许再问喜欢的食物。打出只属于这个人的欢迎词。

这一课不把文字变成数字。也不学 if。 先问清楚,先打印回去。

不问,就不知道你要什么

#hook

商店阿姨问:你叫什么名字?还问:要什么馅?你回答了,她才能接着招呼。

程序也要先问,再说话。不问,它不知道你叫什么,也不知道你喜欢什么。

你打在键盘上的每一个字, 它都先当成文字收下来。

包子铺问要什么馅

如果觉得有点难 先把 input 的结果打印出来。 看看屏幕上到底出现了什么。

如果已经会了 连问三句。 用逗号把回答嵌进欢迎词里。

input:停下来等你打字

#explore-input

input() 会停下来等你。你打字,按回车,它把你打的内容送回来。

python
name = input("请输入姓名:")
print("你好,", name)

括号里的文字是提示语。提示语会先显示在屏幕上,方便你知道该答什么。

没有提示也可以。

python
word = input()
print(word)

这样有点突然。初学建议写上提示语。

提示语不是答案,答案是你后来打进去的那一行。

程序在提问

跑这一段时,先看屏幕。出现「请输入姓名:」再打字。 打完按回车。下一行 print 才会继续。

打的是 3,盒子里也是文字

#explore-text

最关键的一句再念一遍: input 得到的永远是字符串。

就算你输入 12,盒子里也是 "12",不是拿去算的整数 12。

python
n = input("请输入一个数:")
print(n)
print("你刚才打的是:", n)

屏幕会把你打的字原样送回来。看起来像数,身份仍是文字。

对话框里的 3 变成带引号的纸条

上一课见过 "3"3。从键盘进来的,都带着盖子。

想把两个人的回答加起来?先别急。下一课才拿出转换的钥匙。这节课只负责问,只负责打印回去。

做出一句专属欢迎词

#explore-greeting

问两到三句,把回答放进盒子,再打印成一张小贺卡。

python
name = input("请输入姓名:")
hobby = input("请输入爱好:")
food = input("请输入喜欢的食物:")

print()
print("—— 欢迎 ——")
print("你好,", name)
print("原来你喜欢", hobby)
print("下次请你吃", food)

每个人跑出来的句子都不一样。因为盒子里装的是刚才打的字。

程序在提问

提示语要写清楚。「请输入姓名:」比光写一个 input() 客气。

想把字粘得更紧,可以用上一课的 +

python
print("欢迎你," + name + "!")

两边都是文字,才能这样接。name 本来就是文字。所以接得上。

不要在这里把回答拿去加减,那是下一课的事。

如果现在就把两个输入加起来,电脑会把两张纸条贴在一起。那不是算账,那是拼接。

所以这节课的作品停在问候。问完,打印完,就收工。

这节课我学会了

#review

记住这些:

  1. input() 用来提问,会停下来等你。
  2. 括号里的字是提示语,会先显示出来。
  3. 拿到的永远是字符串。
  4. 先放进变量,再 print 回去。

试着在心里跑一遍:

python
name = input("请输入姓名:")
print("你好,", name)

你打「小派」,屏幕上就会出现:你好, 小派

下一课才把文字变成真正的数。先让程序会问人。

试一试

#evaluate

看完就来检查一下。选错了也可以再想。

单选题

input 得到什么

用户输入 15。执行 n = input(「请输入:」) 后,n 最接近哪种?

单选题

提示语是什么

运行 name = input(「请输入姓名:」) 时,屏幕上会先出现什么?

单选题

打印回去

name = input(「请输入姓名:」) 之后执行 print(「你好,」, name)。如果输入是小派,屏幕上欢迎词最像哪句?

多选题

关于提问

下列说法正确的有哪些?可以多选。

可多选

未登录时不会保存学习进度