input()函数
通过前两天的学习,我们知道了print()可以用来输出内容,有输出就会有输入,在python中,用户用于输入内容的函数是input()。
# 定义一个变量,用于接收用户输入的姓名信息
name = input("请输入用户名:")
print(f"该用户的名字是:{name}")
上面代码中,我们定义了一个名为name的变量,用于接收input()函数接收的信息,然后通过print()函数打印了结果。当我们执行该代码时,会看到input() 函数括号内填入的内容会一起打印出来:
上面是我们运行后的结果,我们放在括号内的“请输入用户名:”作为请用户输入信息的提示语被打印了出来,当我们在这串提示语后输入内容,如“狄云”,则会把“狄云”两个字赋值给name,然后执行后面的print(f“该用户的名字是:{name}”),最终控制台显示的结果如下:
如果我们需要输入一串数字,也可以用同样的方式进行操作:
# 定义一个变量,用于接收用户输入的数字
num = input("请输入数字:")
# 输出该数字以及其类型
print(f"您输入的数字是{num},这串数字的数据类型是{type(num)}")
上面的代码用input()让用户输入数字,又用print()输出了用户输入的数字内容以及用type()查看了该数字的数据类型,如果我们输入的数字是“89”,可以看到执行结果如下:
从上面的运行结果中,我们可以看到变量num最终接收到的数字的数据类型是Str(String字符串)类型,也就是说使用input()函数中输入内容,无论该内容是数字还是字符串,最终其得到的数据类型都是字符串类型。
当我们希望用户输入两个数字,并执行两个数字之间的加法运算时,我们最终得到的结果会是两个连起来的字符串,如:
# 定义两个变量,用于接收用户输入的数字
num_1 = input("请输入第一个数字:")
num_2 = input("请输入第二个数字:")
# 输出两数相加的结果
print(f"{num_1}+{num_2}的结果是{num_1+num_2}")
运行结果如下:
我们知道8+9的结果是17,上述结果是两个字符串相加得出的结果,这样的结果显然不是我们想要的。 如果我们需要让8+9的结果符合数学运算的结果,那么我们就需要让input()接收的数据转换为int或者float类型。我们可以这样写:
# 定义两个变量,用于接收用户输入的内容,并将该内容转换为int类型
num_1 = int(input("请输入第一个数字:"))
num_2 = int(input("请输入第二个数字:"))
# 输出两数相加的结果
print(f"{num_1}+{num_2}的结果是{num_1+num_2}")
上述代码运行结果为:
input函数的功能:
获取用户输入的内容
input()函数格式:
变量接收用户输入的数据 = input("给用户的提示语")
input()获取用户输入数据的步骤:
1.先打印括号中给用户的提示语
2.input()获取用户录入键盘的数据
3.变量接收对应数据
tips: input()默认接收的数据是字符串类型 ,想要用于计算需要使用int()或者float()做类型转换。
布尔类型与比较运算符
在我们常用的类型中,字符串和数字相关的类型都已经见过了,那么布尔类型又有什么用呢?布尔类型只有两个字面量True和False,用于表示真和假。在程序运行中,我们经常会用布尔类型进行逻辑判断。比如当我们出门时,我们会根据天气情况决定是否打伞,这里的是与非正好与我们的真假两种状态相对应:
布尔类型(bool):
布尔类型对应了True和False两种状态,其中True为1,False为0。
如何定义变量存储布尔类型的数据:
变量名 = 布尔类型字面量
得到布尔类型的方式除了直接赋值,我们还可以用比较运算符得到,比如a>b,如果a是大于b的,那么得到的布尔值就是True,反之即为False。比如:
# 定义一个变量,直接赋值,输出布尔值
a = True
print(a)
# 用比较运算符得到布尔值
print(9 == 8) # 输出:False
print(9 != 8) # 输出:True
print(9 >= 8) # 输出:True
print(9 > 8) # 输出:True
print(9 < 8) # 输出:False
print(9 <= 8) # 输出:False
# 比较两个字符串内容是否相同可以用==
print('hello' == 'hello') # 输出:True
print('hello' == 'halla') # 输出:False
比较运算符:
运算符 描述 == 判断内容是否相等,满足为True,不满足为False != 判断内容是否不相等,满足为True,不满足为False > 判断运算符左侧内容是否大于右侧 满足为True,不满足为False < 判断运算符左侧内容是否小于右侧 满足为True,不满足为False >= 判断运算符左侧内容是否大于等于右侧 满足为True,不满足为False <= 判断运算符左侧内容是否小于等于右侧 满足为True,不满足为False tips :
1.比较运算符==比较的是变量中的值是否相等,如果要比较变量的标识(id)是否相等,需要用is,比较变量的id是否不相等用is not。
2.算术运算符的优先级高于比较运算符。
3.python中所有对象都有一个布尔值,0、None、空字符串、空列表、空元祖、空集合、空字典的布尔值皆为False,其余对象布尔值为True。
顺序执行
基础程序默认从上往下,依次执行:
print("程序开始") print("程序正在执行") print("程序结束")
if判断
在Python中执行条件判断我们通常用if语句来进行。
if语句的书写格式:
1. if 格式:if 判断条件:
满足条件执行的代码
# 默认用户名为王四
user = "王四"
# 请用户输入用户名
name = input("请输入用户名:")
# 进行判断,如果用户名正确,显示“尊敬的用户,请进”
if name == user:
print("尊敬的用户,请进")
2. if else格式:if 判断条件:
满足条件执行的代码
else:
不满足条件执行代码
# 默认用户名为王四
user = "王四"
# 请用户输入用户名
name = input("请输入用户名:")
# 进行判断,如果用户名正确,显示“尊敬的用户,请进”,否则显示“对不起,您不是我们的用户”
if name == user:
print("尊敬的用户,请进")
else:
print("对不起,您不是我们的用户")
3. if elif ... else格式:if 判断条件1:
满足条件执行的代码elif 判断条件2:
满足条件执行的代码...
else:
上述条件均不满足时执行的代码
# 输入一个数字
num = int(input("请输入一个数字:"))
# 让用户输入的数字与5比大小
if num == 5:
print("您的数字跟我们一样")
elif num >5:
print("您的数字比我们的大")
else:
print("您的数字比我们的小")
tips:1.在python中使用tab缩进(4个空格)来判断代码的依赖关系
2.if 可以进行嵌套使用,在进行嵌套判断时,需要注意if的层级关系
生成随机数
生成随机数的步骤:
1.导入模块: import random
2.生成随机数: num = random.randint(x,y)
import random
num=random.randint(1,10)
print(num)
tips:
randint()中的取值范围包含x和y
综合案例:简单猜数字游戏
案例需求:随机生成1-10的数字,让用户输入数字与随机生成的数字进行比较,要求用户输入的数字在1-10之间,超出范围提示,超出范围。用户输入的1-10之间的数字如果猜大了,提示猜大了;猜小了,提示猜小了;猜对了,提示猜对了。
# 1.使用random生成1个1-10之间的随机数
# 导包
import random
# 获取随机数
num = random.randint(1, 10)
# 2.使用input()获取用户猜的数
guess = int(input('请您输入猜的数(1-10):'))
# 3.先判断用户输入的数字是否在1-10之间,如果是,进入下一层判断
if 1 <= guess <= 10:
# 4.判断用户输入的数字是否与生成的随机数一致
if guess == num:
print('恭喜您,猜对了!')
elif guess > num:
print('猜大了!')
else:
print('猜小了!')
# 如果用户输入的数字不在规定范围,提示输入有误
else:
print('输入有误!!!')