python中键盘输入、格式化输出、条件判断、循环

一、键盘录入

在 Python 中,实现键盘录入数据可以使用内置函数input()。以下是关于input()函数的详细介绍及使用示例。

1.基本用法:

input()函数用于从标准输入(通常是键盘)读取一行文本,并将其作为字符串返回。语法如下:

variable = input([prompt])

prompt:可选参数,是一个字符串,用于在等待用户输入之前显示提示信息。

variable:用于存储用户输入的字符串的变量。

2.简单的代码示例:

# 提示用户输入姓名
name = input("请输入你的姓名:")
# 输出用户输入的姓名
print(f"你输入的姓名是:{name}")

在上述代码中,input("请输入你的姓名:")会在屏幕上显示提示信息 “请输入你的姓名:”,然后等待用户输入。用户输入内容并按下回车键后,输入的内容会作为字符串赋值给变量name,最后使用print()函数输出用户输入的姓名。

注意:input()函数返回的是字符串类型。如果你需要使用其他数据类型(如整数、浮点数等),需要进行类型转换。

例如,用户输入一个数字,将他平方后输出(此处只考虑用户输入的是数字)

# 提示用户输入一个整数
num_str = input("请输入一个整数:")  # 20
# 将输入的字符串转换为整数
num = int(num_str)
# 输出转换后的整数及其平方
print("你输入的整数的平方是:",num ** 2) # 400

当用户输入的不是数字类型时,需要用异常捕获(后面会有专门讲解,这里只需大概了解),防止程序出现错误无法正常运行:

# 提示用户输入一个整数
num_str = input("请输入一个整数:")
try:
    # 将输入的字符串转换为整数
    num = int(num_str)
    # 输出转换后的整数及其平方
    print("你输入的整数的平方是:",num ** 2)
except ValueError:
    print("输入无效,请输入一个有效的整数。")

二、格式化输出

⽬前为⽌,我们所有的输出都是直接通过print(变量名称)形式直接打印的。但是实际⼯作中,我们可能需要对变量的输出进⾏格式化操作 (按照⼀定格式进⾏输出)

1.百分号输出

①:基本语法

print(变量名称)
print('字符串%格式' % (变量名称))
print('字符串%格式 %格式 %格式' % (变量名称1, 变量名称2, 变量名称3))

②%格式常⻅形式如下:

格式符号转换
%s字符串
%d
有符号的⼗进制整数
%f
浮点数
%c
字符
%u无符号十进制整数
%o八进制整数
%x十六进制整数(小写ox)
%X十六进制整数(大写OX)
%e

科学计数法(小写 ' e ' )

%E

科学计数法(大写 ' E ' )

%g

%f 和 %e 的简写

%G%f 和 %E 的简写

③案例

案例:定义两个变量name='惜月', age=20,按照如下格式进⾏输出:我的名字是惜月,今年18岁了。
name = '惜月'
age = 18
print('我的名字是%s,今年%d岁了' % (name, age))
案例:定义两个变量title='⼤⽩菜',price=3.5,按照如下格式进⾏输出:今天蔬菜特价了,⼤⽩菜只要 3.5元/⽄。
title = '⼤⽩菜'
price = 3.5
print("今天蔬菜特价了,%s只要%.2f元/⽄。" % (title, price))
其实除了%f可以设置⼩数点位数以外,%d也可以填充序号。
案例:定义两个变量id=1,name='惜月',按照如下格式进⾏输出:姓名惜月,学号000001
id = 1
name = '张三'
print('姓名:%s,学号:%06d' % (name, id)) # %06d表示id前⾯补0,共6位

2.format⽅法格式化输出

1.基本语法

print('字符串{}'.format(变量名称1))
print('{}字符串{}'.format(变量名称1, 变量名称2))

2.案例

定义两个变量,name='惜月',mobile='186****8841',按照以下格式进⾏输出"姓名:惜月,联系⽅式:186****8841"
name = '惜月'
mobile = '186****8841'
print("姓名:{},联系⽅式:{}".format(name, mobile))

3.format⽅法简写形式格式化输出(推荐)

1.基本语法

print(f"字符串{变量名称1}")
print(f"字符串{变量名称1},字符串{变量名称2}")

2.案例

定义两个变量,name='惜月',mobile='186****8841',按照以下格式进⾏输出"姓名:惜月,联系⽅式:186****8841"

name = "惜月"
mobile = "186****8841"
print(f'姓名:{name},联系⽅式:{mobile}')

三、条件判断

1.if选择判断结构作⽤

在⽇常开发中,只要有需要进⾏条件判断的语句基本上都是选择判断结构。
应⽤场景:
如果年龄⼤于等于18岁,则可以正常上⽹。
如果升级考试成绩⼤于60分,则可以顺利升级就业班。

2.if选择判断结构的基本语法

if 条件判断:
 则执⾏某段代码...
 
print()

3.案例代码

if True:
    print('条件成⽴执⾏的代码1')
    print('条件成⽴执⾏的代码2')
# 下⽅的代码没有缩进到if语句块,所以和if条件⽆关
print('我是⽆论条件是否成⽴都要执⾏的代码')

4.if...else...结构

if 条件判断:
 当条件判断为True时,则执⾏这个语句段
else:
 当条件判断为False时,则执⾏这个语句段

5.if...elif...else多条件判断结构

if 条件判断1:
 如果此条件为True,则执⾏这个语句段
elif 条件判断2:
 如果此条件为True,则执⾏这个语句段
elif ...:
 ...
else:
 如果以上所有条件判断都不满⾜时,则执⾏这个语句段

6.if多条件判断案例

案例:
① 中国合法⼯作年龄为18-60岁,即如果年龄⼩于18的情况为童⼯,不合法;
② 如果年龄在18-60岁之间为合法⼯龄;
③ ⼤于60岁为法定退休年龄
if多重条件判断原理图:
# 定义⼀个变量,接收⽤户输⼊的年龄
age = int(input('请输⼊您的年龄:'))
if age < 18:
 print('你还是⼀个童⼯,回去好好学习')
elif age >= 18 and age <=60:
 print('合法⼯龄,可以正常⼯作')
else:
 print('您已经达到了退休年龄,回家好好休息')

7.if嵌套结构

if 外层条件判断:
     # 如果条件为True,则执⾏以下语句段
     if 内层条件判断:
         # 如果内层条件为True,则执⾏以下语句段
else:
     # 如果条件为False,则执⾏以下语句段

8.if 嵌套案例

案例:法律规定,⻋辆驾驶员的⾎液酒精含量⼩于 20mg/100ml 不构成酒驾;酒精含量⼤于或等于
20mg/100ml 为酒驾;酒精含量⼤于或等于 80mg/100ml 为醉驾。编写 Python 程序判断是否为酒后驾⻋。
proof = int(input('请输⼊驾驶员100ml⾎液中的酒精含量:'))
# 判断proof酒精含量是否⼩于20mg
if proof < 20:
     print('驾驶员不构成酒驾')
else:
     # 已经构成酒驾 => 两种类型(酒驾与醉驾)
     if proof >= 80:
         print('驾驶员已构成醉驾')
     else:
         print('驾驶员已构成酒驾')

四、循环

1.循环的作用

条件重复地做⼀件事,每⼀次做的事情不同但类似。 程序是为了解决实际问题的,实际问题中存在着重复动作,那么程序中也应该有相应的描述,这就是循环

2.循环的种类

在python中有,循环分为两大类:while 循环和 for 循环

3.while循环的基本用法     

while循环会在条件为True时重复执行循环体,直到条件变为False为止。它的基本语法如下:

while 条件:
    循环体

4.简单的while循环代码示例

count = 0
while count < 5:
    print(count)
     count += 1    
#输出 0 1 2 3 4 5

5.使用break和continue

1.break语句用于立即退出循环。

2.continue语句用于跳过当前迭代并继续下一次迭代。

count = 0
while count < 10:
    count += 1
    if count == 5:
        continue  # 跳过本次循环
    if count == 8:
        break  # 退出循环
    print(count)
#输出1 2 3 4 6 7

6.for循环的基本用法

for循环用于遍历一个序列(如列表、元组、字符串等)或其他可迭代对象。它的基本语法如下:

for 变量 in 可迭代对象:
    循环体

7.简单的for循环代码示例

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
#输出 apple banana cherry

 8.使用range()函数

range()函数常用于生成一个数字序列,通常与for循环一起使用。

for i in range(5):
    print(i)
#输出 0 1 2 3 4

9. 嵌套循环

循环可以嵌套使用,即在一个循环内部再使用另一个循环。这在处理多维数据结构时非常有用。

10.简单的嵌套循环示例

for i in range(3):
    for j in range(2):
        print(f"i={i}, j={j}")
#
输出
i=0, j=0
i=0, j=1
i=1, j=0
i=1, j=1
i=2, j=0
i=2, j=1
#

11.总结

  • for循环用于遍历可迭代对象,如列表、元组、字符串、字典等。

  • while循环在条件为True时重复执行,直到条件变为False

  • break语句用于立即退出循环,continue语句用于跳过当前迭代。

  • 循环可以嵌套使用,以处理更复杂的逻辑。

### 使用 Python 读取键盘输入 #### 基本方法:`input()` 函数 Python 提供了一个内置函数 `input()` 来获取用户的键盘输入。该函数会暂停程序并等待用户键入一些文本,直到按下回车键为止。 ```python user_input = input("请输入您的名字: ") print(f"你好, {user_input}") ``` 此代码片段展示了如何提示用户输入其姓名,并随后打印一条个性化的问候消息[^2]。 #### 处理不同类型的数据 默认情况下,`input()` 返回的是字符串形式的数据。如果希望接收其他类型的输入(如整数),可以使用相应的转换函数: ```python age = int(input("请输入年龄: ")) height = float(input("请输入身高(米): ")) print(f"您今年{age}岁,身高{height:.2f}米") ``` 这段代码示范了如何安全地将用户输入转化为数值型数据,并进行了简单的格式化输出。 #### 高级应用:多线程读取输入 对于更复杂的应用场景,可能需要在一个独立的线程中持续监听键盘事件而不阻塞主线程的工作流。这可以通过创建一个新的线程来实现,如下所示: ```python import threading from queue import Queue def read_kbd_input(inputQueue): while True: try: user_input = input() inputQueue.put(user_input) except KeyboardInterrupt: break inputQueue = Queue() inputThread = threading.Thread(target=read_kbd_input, args=(inputQueue,), daemon=True) inputThread.start() while not inputQueue.empty(): data = inputQueue.get_nowait() print(data) # 主循环继续运行... ``` 上述例子说明了怎样设置一个多线程环境,在后台不断收集来自标准输入的信息并将它们存放到队列里以便后续处理[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值