大纲
很多时候我们需要编写一个程序,程序的某个信息是依赖用户的输入的,我们来看一个简单的例子。
x = input("请输入一个数字")
print(x)
我们来看一下,通过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)
输入一个三位数字,将各个位上的数字求和。
x = int(input("input:"))
bai = x//100
shi = x%100//10
ge = x%10
x_sum = bai+shi+ge
print(x_sum)
注释的使用
如果代码比较多,我们需要加上一些注释,也就是记录一下这一行代码是什么含义,这是一种情况。因为注释是不会运行的,所以可以用注释来暂时让计算机忽略不需要运行的代码。
x = input("input:") # 获取用户输入
x = int(x) # 数据类型转换成整数
bai = x//100 # 获取百位上的数字
shi = x%100//10 # 获取十位上的数字
ge = x%10 # 获取个位上的数字
x_sum = bai+shi+ge # 求和
print(x_sum)
练习:糖果的计算问题
有五个小朋友,他们围坐在圆桌边,手中都有一些糖果,从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