【Python基础学习】5. 用户输入和基本语句

用户输入和基本语句

1. 用户输入

使用函数 input() 可以让程序暂停运行,等待用户输入一些文本,Python在获取用户的输入后,将其存储在一个变量中,以便用户来使用。

当使用 input() 函数时,可以指出需要用户输入的数据是什么,即进行必要的信息提示。

示例:

name = input('请输入你的姓名:')
print('Hello ' + name) 

示例输出:

请输入你的姓名:张三
Hello 张三 

采用 input() 方法输入的数据,默认以字符串形式存储。如果用户需要输入数字类型,可以采用类型转换的函数(如 int() 实现字符串转换为整形)来实现。

示例:

age = input('请输入你的年龄:')
age = int(age) if age >= 18:
    print('已成年') else:
    print('未成年') 

示例输出:

请输入你的年龄:20
已成年 

2. if 语句

2.1 简单的if语句

2.1.1 if语句

一般情况下, if 语句主要进行条件的判断。下面这个示例是进行的各种条件判断。

示例

name = 'Zhangsan' # 判断基本的相等于不等 if name != 'zhangsan':
    print(name + ' 不等于 zhangsan') # 带大小写转换的判断 if name.lower() == 'zhangsan':
    print(name.lower() + ' 等于 zhangsan') # 判断数值 age = 20 if age >= 20:
    print(str(age) + '>= 20') if age < 30:
    print(str(age) + '< 30') # 判断多个条件 age_1 = 20 age_2 = 23 if age_1 <= 25 and age_2 <= 25:
    print('两个年龄均小于 25 ') if age_1 >= 18 or age_2 >= 18:
    print('两个年龄,至少有一个已成年') 

示例输出:

Zhangsan 不等于 zhangsan
zhangsan 等于 zhangsan 20>= 20 2030 两个年龄均小于 25 
两个年龄,至少有一个已成年 

另外,if语句还可以判断某个值是否在列表中。

示例:

name = ['张三''李四''王五''赵六'] if '张三' in name:
    print('张三在 name 列表中') if '田七' not in name:
    print('田七不在 name 列表中') 

示例输出:

张三在 name 列表中
田七不在 name 列表中 
2.1.2 if-else 语句

经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况下,可使用Python提供的 if-else 语句。if-else 语句块类似于简单的 if 语句,但其中的else 语句让你能够指定条件测试未通过时要执行的操作。

示例:

age = 17 if age >= 18:
    print('你已成年') else:
    print('你未成年') 
2.1.3 if-elif-else 语句

经常需要检查超过两个的情形,为此可使用Python提供的 if-elif-else 结构。Python只执行 if-elif-else 结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。

month = 5 if month in [135781012]:
    print(str(month) + ' 月有31天') elif month in [46911]:
    print(str(month) + ' 月有30天') elif month == 2:
    print(str(month) + ' 月可能有28天,也可以有29天') else:
    print('该月份错误') 

elif 代码块是可以叠加使用的,即任意数量的 elif代码块均可。

末尾的else代码块可以省略。

2.2 if语句与列表

2.2.1 检查特殊元素

使用for循环可以对列表中的元素进行遍历,在遍历的时候,可以对特殊元素进行筛查。

示例:

scores = [10098596078995763]
flag = 0 for score in scores:
    if score <= 60:
        flag += 1 print('共有 ' + str(flag) + ' 门课程不及格。') 

示例输出:

共有 3 门课程不及格。 

在Python中,没有自增或自减(++ 或 --)操作,如果需要对变量 i 进行加一或者减一的操作,可以使用i += 1 (即 i = i + 1 )或者 i -= 1(即 i = i - 1 )实现。

2.2.2 判断列表是否为空

如果列表初始值就是空,那么再执行循环也是无意义的。所以有时需要对列表是否为空进行判断。

示例:

scores = []
flag = 0 if scores:
    for score in scores:
        if score <= 60:
            flag += 1     print('共有 ' + str(flag) + ' 门课程不及格。') else:
    print('暂时没有成绩公布') 

示例输出:

暂时没有成绩公布 

注意缩进

3. while 语句

for 循环用于针对集合中的每个元素都一个代码块,而 while 循环不断地运行,直到指定的条件不满足为止。

最简单的用法就是设置循环结束的条件。当然循环结束条件也是while循环中不可忽略的,如果条件设置不当,容易造成死循环。

示例:

# 输出前5个姓名 names = ['赵一''钱二''孙三''李四''周五''吴六''郑七''王九']
num = 0 while num < 5:
    print(names[num])
    num += 1 

示例输出:

赵一
钱二
孙三
李四
周五 

while 循环中可以使用 break 关键字来终止循环。

示例:

# 向列表中添加姓名,当输入重复的姓名时,结束 names = [] while True:
    name = input('请输入姓名:')

    if name in names:
        print(names)
        break     else:
        names.append(name) 

示例输出:

请输入姓名:张三
请输入姓名:李四
请输入姓名:王五
请输入姓名:赵六
请输入姓名:张三
['张三''李四''王五''赵六'] 

while 循环中也可以用 continue 关键字来快速执行下一次循环,即忽略本次循环未执行的后续语句。即 决定是否继续执行循环

示例:

# 打印20以内的奇数 num = 0 while num < 20:
    num += 1     if num % 2 == 0:
        continue     else:
        print(num) 

当然, while 循环也可以和列表、字典等数据类型结合使用。不过具体是使用 while 循环方便,还是使用 for 循环方便,可结合具体实际进行选择。

示例:

# 首先,创建一个待验证用户列表和一个用于存储已验证用户的空列表 unconfirmed_users = ['alice''brian''candace']
confirmed_users = [] # 验证每个用户,直到没有未验证用户为止 # 将每个经过验证的列表都移到已验证用户列表中 while unconfirmed_users:
    current_user = unconfirmed_users.pop()
    print("正在验证: " + current_user.title())
    confirmed_users.append(current_user) # 显示所有已验证的用户 print("\n以下用户已验证:") for confirmed_user in confirmed_users:
    print(confirmed_user.title()) 

示例输出:

正在验证: Candace
正在验证: Brian
正在验证: Alice

以下用户已验证:
Candace
Brian
Alice 

参考文献:

[1] Python编程:从入门到实践

相关推荐

发表评论

路人甲
看不清楚?点图切换

网友评论(0)