通常情况下,Python 的代码中是不需要从键盘读取输入的。不过我们还是可以在 Python 中使用函数 input()
来做到这一点,input()
有一个用于打印在屏幕上的可选字符串参数,返回用户输入的字符串。
我们来写一个程序,它将会从键盘读取一个数字并且检查这个数字是否小于 100。这个程序名称是 /home/shiyanlou/testhundred.py
。还记得如何使用 Vim 吗?忘了的话可以看看下面的动图,打开 Xfce 终端,使用 Vim 开始编写代码:
在终端中输入:
vim testhundred.py
输入i
后,编写以下代码,注意缩进:
#!/usr/bin/env python3
number = int(input("Enter an integer: "))
if number <= 100:
print("Your number is less than or equal to 100")
else:
print("Your number is greater than 100")
接着按 ESC
键并输入 :wq
退出 Vim。
该段代码的含义如下:
如果 number
小于等于 100,输出 “Your number is less than or equal to 100”,如果大于 100,输出 “Your number is greater than 100”。
在执行程序前,别忘了为文件添加可执行权限:
chmod +x testhundred.py
程序运行起来就像这样:
./testhundred.py
Enter an integer: 13
Your number is less than or equal to 100
./testhundred.py
Enter an integer: 123
Your number is greater than 100
后续程序中将会用到之后实验将学到的 while 循环语句,这里先简单介绍下。
while 是使用一个表达式作为判断的条件,如果条件不能够达成则停止循环:
w = 20
while w > 1:
print(w)
w -= 1
这个循环中判断条件为 w > 1
,当条件不满足的时候就停止循环。当 w 的值小于等于 1 的时候,循环退出。这里要注意 w -= 1
,等同于 w = w - 1
。
下一个程序我们写入 /home/shiyanlou/investment.py
,来计算投资,使用 Vim 输入以下代码:
#!/usr/bin/env python3
amount = float(input("Enter amount: ")) # 输入数额
inrate = float(input("Enter Interest rate: ")) # 输入利率
period = int(input("Enter period: ")) # 输入期限
value = 0
year = 1
while year <= period:
value = amount + (inrate * amount)
print("Year {} Rs. {:.2f}".format(year, value))
amount = value
year = year + 1
运行程序:
cd /home/shiyanlou
chmod +x investment.py
./investment.py
Enter amount: 10000
Enter Interest rate: 0.14
Enter period: 5
Year 1 Rs. 11400.00
Year 2 Rs. 12996.00
Year 3 Rs. 14815.44
Year 4 Rs. 16889.60
Year 5 Rs. 19254.15
while year <= period:
的意思是,当 year
的值小于等于 period
的值时,下面的语句将会一直循环执行下去,直到 year
大于 period
时停止循环。
Year {} Rs. {:.2f}".format(year, value)
称为字符串格式化,大括号和其中的字符会被替换成传入 str.format()
的参数,也即 year
和 value
。其中 {:.2f}
的意思是替换为 2 位精度的浮点数。