Python for Kids
  • 0 前言
  • 1 编程环境准备
  • 2 运算符和表达式
  • 3 掌握变量
  • 4 字符串
  • 5 获取用户的输入
  • 6 条件判断
  • 7 条件判断实操
  • 8 FOR循环
  • 9 循环和列表
  • 10 WHILE循环
  • 11 WHILE循环实操
  • 12 WHILE循环再实操
  • 13 多重循环
  • 14 再谈列表
  • 15 初见函数
  • 16 函数实操
  • 17 选择排序
  • 18 冒泡排序
  • 19 递归算法之一
  • 20 递归算法实操
  • 21 快速排序
  • 22 汉诺塔游戏
  • 23 递推算法
  • 24 分治算法
  • 25 集合与组合
  • 26 贪心算法
  • 27 字典和键值对
  • 28 广度优先搜索算法
  • 29 数组和向量化计算
  • 30 随机和模拟
  • 31 数据可视化
  • 32 文件读取和分析
Powered by GitBook
On this page
  • 大纲
  • input
  • 练习
  • 练习
  • 注释的使用
  • 练习:糖果的计算问题
  • 练习:
  • 练习:
  • 练习

Was this helpful?

5 获取用户的输入

我喊你名字,你敢答应吗

大纲

  • input命令

  • 注释的使用

  • 练习:糖果的计算问题

input

很多时候我们需要编写一个程序,程序的某个信息是依赖用户的输入的,我们来看一个简单的例子。

x = input("请输入一个数字")
print(x)
请输入一个数字42
42

我们来看一下,通过input输入的数据是什么类型的。

x = input("input a number:")
print(type(x))
print(x)
input a number:20
<class 'str'>
20

可以看到输入的数据类型都是字符串型的,所以在后续的数字运算中,需要注意这一点。

练习

输入两个人的名字,交换它们的内容。

x = input("第一个人的名字:")
y = input("第二个人的名字:")
y, x = x, y
print(x)
print(y)
第一个人的名字:小明
第二个人的名字:小王
小王
小明

python有个很神奇的能力,它可以直接交换x和y两个变量的值,如果是其它的语言,可能需要中间变量进行过渡

temp = y
y = x
x = temp

练习

输入一个两位数字,交换十位和个位上的数字。这里我们使用了除法和求余数的方法来得到个位上的数字和十位上的数字。

x = input("input:")
x = int(x)
shi = x//10
ge = x%10
ge, shi = shi, ge
new_x = shi*10 + ge
print(new_x)
input:24
42

输入一个三位数字,将各个位上的数字求和。

x = int(input("input:"))
bai = x//100
shi = x%100//10
ge = x%10
x_sum = bai+shi+ge
print(x_sum)
input:143
8

注释的使用

如果代码比较多,我们需要加上一些注释,也就是记录一下这一行代码是什么含义,这是一种情况。因为注释是不会运行的,所以可以用注释来暂时让计算机忽略不需要运行的代码。

x = input("input:")  # 获取用户输入
x = int(x)           # 数据类型转换成整数
bai = x//100         # 获取百位上的数字
shi = x%100//10      # 获取十位上的数字
ge = x%10            # 获取个位上的数字
x_sum = bai+shi+ge   # 求和
print(x_sum)
input:342
9

练习:糖果的计算问题

有五个小朋友,他们围坐在圆桌边,手中都有一些糖果,从1号小朋友开始,他将自己手中的糖果分成三份(如果有多的立即吃掉),自己留一份,剩下两份分给左右两边的小朋友,其它四个小朋友也同样这么做,问一轮之后,每个小朋友手上有多少糖果。

x1 = int(input("1号小朋友手上的糖果:"))
x2 = int(input("2号小朋友手上的糖果:"))
x3 = int(input("3号小朋友手上的糖果:"))
x4 = int(input("4号小朋友手上的糖果:"))
x5 = int(input("5号小朋友手上的糖果:"))
x1_3 = x1//3
x1 = x1_3
x2 = x2+x1_3
x5 = x5+x1_3

x2_3 = x2//3
x2 = x2_3
x1 = x1+x2_3
x3 = x3+x2_3

x3_3 = x3//3
x3 = x3_3
x2 = x2+x3_3
x4 = x4+x3_3

x4_3 = x4//3
x4 = x4_3
x3 = x3+x4_3
x5 = x5+x4_3

x5_3 = x5//3
x5 = x5_3
x4 = x4+x5_3
x1 = x1+x5_3

print(x1,x2,x3,x4,x5)
1号小朋友手上的糖果:8
2号小朋友手上的糖果:9
3号小朋友手上的糖果:10
4号小朋友手上的糖果:11
5号小朋友手上的糖果:12
11 7 9 11 6

练习:

输入一个符号,输出一个由这个符号构成的三角形,第一排有一个,第二排有三个,第三排有五个。

x = input()
print(" "*2+x+" "*2)
print(" "*1+x*3+" "*1)
print(x*5)
*
  *  
 *** 
*****

练习:

输入一条线段两端点的坐标,求其长度。保留3位小数

x1 = int(input("A点的x坐标:"))
x2 = int(input("B点的x坐标:"))
y1 = int(input("A点的y坐标:"))
y2 = int(input("B点的y坐标:"))
length = ((x1-x2)**2 + (y1-y2)**2)**(1/2)
print(round(length,3))
A点的x坐标:3
B点的x坐标:4
A点的y坐标:5
B点的y坐标:4
1.414

练习

输入一个小数,以四舍五入的原则对其保留N位小数。

x = float(input("输入一个数字:"))
n = int(input("输入保留的位数:"))
m = 10**n
y = int(x*m+0.5)
y = y/m
print(y)
输入一个数字:3.4129456
输入保留的位数:3
3.413
Previous4 字符串Next6 条件判断

Last updated 4 years ago

Was this helpful?