每天一个知识点,带你自学NOAI,加入我们吧~
前两课电脑学会了说话、记东西。这节课,让电脑跟你互动,还能帮你算数。
input():让电脑听你说话
之前我们用print()让电脑"说话"。现在反过来——用input()让电脑等你输入。
name = input("你叫什么名字?")print("你好," + name)
运行后,电脑会先显示"你叫什么名字?",然后停下来等你打字。你输入"小明"按回车,它就输出:
你叫什么名字?小明你好,小明
拆开看:
•input("提示语") 会在屏幕上显示提示语,然后等你输入
• 你输入的内容会被存进左边的变量里
•"你好," + name 是字符串拼接,把两段文字连在一起
input()拿到的永远是字符串,不管你输入的是文字还是数字。这一点非常重要,后面会讲到。
算术运算:让电脑帮你算数
Python可以直接当计算器用。先看最常用的四种运算:
print(10 + 3) # 13 加法print(10 - 3) # 7 减法print(10 * 3) # 30 乘法print(10 / 3) # 3.333... 除法
注意:Python里的除法结果永远是浮点数,即使能整除也一样。10 / 2 的结果是 5.0,不是 5。
还有三种运算,NOAI考试经常考:
//整除 — 只取商的整数部分,小数直接丢掉
print(10 // 3) # 3 商是3余1,只取3print(7 // 2) # 3 商是3余1,只取3
%取余 — 只取除法的余数
print(10 % 3) # 1 10除以3余1print(7 % 2) # 1 7除以2余1
取余有个常见用法:判断奇偶。一个数 % 2 结果是0就是偶数,结果是1就是奇数。
**乘方 — 几个相同的数连乘
print(2 ** 3) # 8 2的3次方 = 2×2×2print(3 ** 2) # 9 3的2次方 = 3×3
运算优先级
跟数学课一样:先乘除,后加减。想改顺序就加括号。
print(2 + 3 * 4) # 14 先算3×4=12,再加2print((2 + 3) * 4) # 20 括号里先算,2+3=5,再乘4
拿不准优先级的时候,加括号就完事了。括号永远最先算。
新手最容易栽的坑:input + 运算
来看一段代码:
a = input("请输入一个数字:")print(a + a)
你输入5,期待输出10。但实际输出是:
55
为什么?因为input()拿到的是字符串"5",不是数字5。字符串的+是拼接,"5"+"5"="55"。
要做数学运算,必须先把字符串转成数字:
a = input("请输入一个数字:")a = int(a) # 把字符串转成整数print(a + a) # 现在是数字相加了
请输入一个数字:510
也可以一步到位,把input和int写在一起:
a = int(input("请输入一个数字:"))
两种转换函数:
•int() — 转成整数。int("5") 得到 5
•float() — 转成浮点数。float("3.14") 得到 3.14
注意:int("3.14") 会报错!带小数点的字符串要先用float()转。反过来,int(3.14) 没问题,结果是 3,直接砍掉小数部分。
实战:写一个简单计算器
把input和运算结合起来,就能写出有用的小程序了:
# 计算长方形的面积length = int(input("请输入长:"))width = int(input("请输入宽:"))area = length * widthprint("面积是:" + str(area))
请输入长:5请输入宽:3面积是:15
最后一行的str()是把数字转回字符串。因为字符串和数字不能直接用+拼接,必须先把数字转成字符串。
动手试试
练习1:预测输出
下面这段代码,输入10和3,输出什么?
a = int(input())b = int(input())print(a // b)print(a % b)
提示://取商,%取余。10除以3,商几余几?
练习2:找bug
下面这段代码想计算两个数的和,但运行后输入1和2,输出的是"12"而不是"3"。哪里出了问题?
a = input("第一个数:")b = input("第二个数:")print(a + b)
提示:回看前面"最容易栽的坑"那一节。
练习3:写代码
写一个程序:输入一个秒数(比如90),输出它等于几分几秒(1分30秒)。
提示:分钟数 = 总秒数 // 60,剩余秒数 = 总秒数 % 60。
自己先想,想完了去香农平台上写代码跑一遍验证。
去平台上手写代码
今天学了三个东西:
•input() — 让电脑接收你的输入
•七种算术运算符 — + - * / // % **
•类型转换 — int()、float()、str(),在字符串和数字之间来回切换
这篇文章讲的是香农NOAI学习平台"Python基础"模块的第三课。平台上有更多的练习题,写完代码点运行,对不对立刻就知道。
香农NOAI学习平台地址:noai.arpa.school微信扫码登录就能用,免费。找到「Python基础」→「输入和运算」,从第一道题开始写。
下一篇讲条件判断——让电脑学会"看情况办事",不同的输入做不同的事。

