大爽Python入门教程 5-1 `input`输入

大爽Python入门公开课教案 点击查看教程总目录

1 input函数介绍

python 2.x 中,有raw_input()函数。
python 3.x 中只有input()函数。

使用input函数,可以读取标准输入,即用户输入。
input函数可以接受prompt作为可选参数,
可以将prompt作为提示输出到控制台,再接受用户输入。
示例如下

>>> a = input()
asdfas
>>> a
'asdfas'
>>> name = input("input a name: ")
input a name: harry
>>> name
'harry'

补充说明: 轻量级ide atom不支持接受用户输入,sublime text 支持的也很有限。
如果代码里面要使用input,这里推荐使用pycharm或者vs code

2 使用循环获取数字

代码里面,我们常常需要用户输入数字。
有的简单题目里面,会假设用户输入的数字,不考虑用户输入其他的情况。
但是稍微成熟一点的程序,都要处理这个问题。
有很多办法,我们这里使用循环加数字判断来确保获取输入数字
代码如下

num = input("Please enter a num: ")
while not num.isdigit():
    num = input("Please enter a num: ")

print("Your num: %s" % num)

运行实例如下

Please enter a num: a
Please enter a num: dd
Please enter a num: 123a
Please enter a num: 123
Your num: 123

3 使用循环获取指定输入

假设我们在开发一个非常简易的选课系统,
需要检测用户选择的课程,在我们的可选课程中。

那么也推荐使用循环,来确保用户的选择是符合规则的。

courses = ["math", "music", "grammar", "history"]

course = input("Please select a course: ")
while course not in courses:
    print("Invalid selection: %s" % course)
    course = input("Please select a course: ")

print("You select course: %s" % course)

运行实例如下

Please select a course: dance
Invalid selection: dance
Please select a course: paint
Invalid selection: paint
Please select a course: math
You select course: math

4 使用函数包装功能

对于大一点的项目,
推荐把第二部分第三部分的代码写进一个函数里,方便调用。

获取数字的功能写进函数

def get_num():
    num = input("Please enter a num: ")
    while not num.isdigit():
        num = input("Please enter a num: ")

    return num

选择指定课程的功能写进函数

def select_course():
    courses = ["math", "music", "grammar", "history"]

    course = input("Please select a course: ")
    while course not in courses:
        print("Invalid selection: %s" % course)
        course = input("Please select a course: ")

    return course
posted @ 2021-11-23 18:15  大爽歌python编程辅导  阅读(317)  评论(0编辑  收藏  举报