商业网站设计方案,西安黄页网,wordpress前台特别慢,六安市核酸检测结果查询自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考
input()函数可以提示并接收用户的输入#xff0c;将所有的输入按照字符串进行处理#xff0c;并返回一个字符串#xff0c;input()函数的…自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考
input()函数可以提示并接收用户的输入将所有的输入按照字符串进行处理并返回一个字符串input()函数的基本用法如下
input([prompt])
参数说明
prompt可选参数表示提示信息。
示例接收用户输入的内容并保存到变量中代码如下
name input(Please enter your name:) #提示请输入你的名字
print(name) #输出名字
输入Tom后程序的运行结果为
Please enter your name:Tom
Tom
示例使用input()函数提示输入内容将《静夜思》中的诗句保存到列表中并输出代码如下
# 输入《静夜思》中的诗句
ainput(输入第一句) # 提示输入内容
binput(输入第二句)
cinput(输入第三句)
dinput(输入第四句)
list[a,b,c,d] # 将内容存入列表
print(list) # 输出列表内容
依次输入床前明月光、疑是地上霜、举头望明月、低头思故乡程序的运行结果如下
输入第一句床前明月光
输入第二句疑是地上霜
输入第三句举着放明月
输入第四句低头思故乡
[床前明月光, 疑是地上霜, 举着放明月, 低头思故乡]
在Python 3.x中无论输入的是数字还是字符都将被作为字符串读取。如果想要接收数值需要把接收到的字符串进行类型转换。
示例使用input()函数提示输入内容将输入的成绩转换为整型保存到列表中并输出代码如下
# 提示输入数学、英语、语文成绩
score1 int(input(请输入数学成绩)) # 转换为整型
score2 int(input(请输入英语成绩))
score3 int(input(请输入语文成绩))
list [score1,score2,score3] # 将变量内容存入列表
print(list) # 输出列表内容
依次输入88、76、100程序的运行结果如下。
请输入数学成绩88
请输入英语成绩76
请输入语文成绩100
[88, 76, 100] 提示input()函数返回的值是字符串类型的如果要让输入的数字变为整型可以使用int()函数将数字或字符串转换为整数。
示例实现根据输入的字符利用ord()函数将字符转换为对应的ASCII数值代码如下
n input(输入一个字符) # 输入字母或数字不能输入汉字
valueord(n) # 用ord()函数将字符转换为对应的ASCII数值
print(n 的ASCII码为, value) # 显示字符对应的ASCII码值
输入A程序的运行结果如下
输入一个字符A
A的ASCII码为 65 快用锦囊
锦囊01 常用输入
使用input()输入信息时提示信息参数可以为空不提示任何信息也可以和转义字符结合如提示信息后加“\n”表示在提示信息后换行。常见应用代码如下
name input() # 无提示型输入不换行
name1 input(name:) # 简洁型输入
name2 input(请输入您的姓名) # 提示型输入不换行
name3 input(姓名:\n) # 提示型输入换行
输出结果为
张三丰
name:李铁
请输入您的姓名理想
姓名:
李世民
也可以将多条输入语句放到列表、元组或字典中。例如放到列表中将实现把输入结果保存到列表中代码如下
data[input(姓名),input(电话),input(学校)]
print(data )
输出结果为
姓名张三丰
电话1868688110
学校清华大学
[张三丰, 1868688110, 清华大学]
锦囊02 去除输入的非法字符
输入数据时有时可能会输入空格等非法字符这时可以使用字符串的strip()、lstrip()或rstrip()方法去除。例如下面的代码
name input(请输入您的姓名:).strip( ) # 去除输入数据两端的空格
age input(请输入您的年龄:).lstrip( ) # 去除输入数据左侧的空格
print(name)
print(age)
输出结果为
请输入您的姓名: joy
请输入您的年龄: 12
锦囊03 多数据输入
input()函数支持多个数据输入输入的时候通常使用字符串的split()方法进行分割如同时输入某一地点的坐标值等。示例代码如下
x,yinput(请输入出发地点的横、纵坐标值用英文逗号分隔:).split(,) # 一行输入两个不限定类型的值
name,age,heightinput(请输入你的姓名、年龄和身高用英文逗号分隔\n).split(,)
a,bmap(int,input(请输入两个数用空格分隔\n).split()) # 一行输入两个限定类型为int的值
print(x,y)
print(age)
print(a,b)
输出结果为
请输入出发地点的横、纵坐标值用英文逗号分隔:123,210
请输入你的姓名、年龄和身高用英文逗号分隔
joy,22,1.68
请输入两个数用空格分隔
27 89
123 210
22
27 89 说明如果不按指定规则输入将输出“ValueError: not enough values to unpack”异常。
通过循环语句也可以实现多数据输入也需要使用字符串的split()方法对输入的数据进行分割。如
sum 0
for x in input(请输入多个加数中间用空格分隔).split( ): sum sumint(x)
print(sum)
输出结果为
请输入多个加数中间用空格分隔
1 2 3 4 5 6 7 8
36
锦囊04 强制转换输入
用户通过input()函数输入的数据都是字符串类型的有时程序要求输入的数据为某种特定数据类型如整型、浮点型或日期型等这时就需要在输入后进行强制转换。例如使用int()函数将用户输入的字符格式的数据转换为整型数据。代码如下
age int(input(age))
print(age)
print(type(age))
输出结果为
age30
30
class int
有时对输入的字符是有一定要求的如首字母大写、输入全部为小写等这时可以使用字符串的lower()、upper()、capitalize()或title()等方法对输入的字符串进行强制转换。如
password input(请输入您的密码).upper() # 将输入的字符串转换为全部大写
name input(请输入您的姓名).capitalize() # 将输入的字符串转换为首字母大写
school input(请输入您的学校).title() # 将输入的单词全部转换为首字母大写
print(password,name,school) # 输出以上转换后的内容
输出结果为
请输入您的密码abcdefg
请输入您的姓名joy
请输入您的学校harvard university
ABCDEFG Joy Harvard University
锦囊05 对输入数据进行验证
在Python中提供了一些对字符串进行验证的方法通过它们可以非常方便地判断输入内容是大写字母、小写字母、数字或是空白字符等。主要方法如下
l isalnum()所有字符都是数字或者字母
l isalnum()所有字符都是字母
l isdigit()所有字符都是数字
l islower()所有字符都是小写
l isupper()所有字符都是大写
l istitle()所有单词都是首字母大写类似标题
l isspace()所有字符都是空白字符、\t、\n、\r。
使用字符串的isdigit()方法可以验证输入是否为数字。例如需要输入为纯数字方可进入系统否则退出系统代码如下
if input(请输入数字验证码).isdigit(): print(正在登录草根之家商务系统)
else: print(输入非法将退出系统)
输出纯数字的运行结果如下
请输入数字验证码1314
正在登录草根之家商务系统
输出非纯数字的运行结果如下
请输入数字验证码q1e2
输入非法将退出系统
为了有效验证输入的各种情况如输入是否为空输入是否为指定长度字符等可以自定义验证函数inputbox()在该函数中使用isdigit()、isalpha()等函数对可能出现的各种情况进行验证判断并且将符合条件的输入内容返回。inputbox()的代码如下
def inputbox(showstr, showorder, lengh 0): 功能输入并验证数据返回符合条件的数据 :param showstr: 提示信息 :param showorder:验证模式值为1表示不为零的纯数字值为2表示3个字母值为3表示指定个数的数字 :param lengh:输入字符个数默认值为0 :return: 符合条件的数据 instr input(showstr) if len(instr) ! 0: if showorder 1: # 判断是否为纯数字 if str.isdigit(instr): if instr 0: print(\033[1;31;40m 输入为零请重新输入\033[0m) return 0 else: return instr else: print(\033[1;31;40m输入非法请重新输入\033[0m) return 0 if showorder 2: # 判断是否为3个字母 if str.isalpha(instr): if len(instr) ! 3: print(\033[1;31;40m必须输入三个字母请重新输入\033[0m) return 0 else: return instr else: print(\033[1;31;40m输入非法请重新输入\033[0m) return 0 if showorder 3: # 判断是否为指定个数的数字 if str.isdigit(instr): if len(instr) ! lengh: print(\033[1;31;40m必须输入 lengh 个数字请重新输入\033[0m) return 0 else: return instr else: print(\033[1;31;40m输入非法请重新输入\033[0m) return 0 else: print(\033[1;31;40m输入为空请重新输入\033[0m) return 0
例如需要输入3个字母时可以使用下面的代码。
print(inputbox(请输入3个字母,2))
当输入的内容为123时将显示如图1所示的运行结果。 图1 输入错误内容时的效果
当输入的内容为abc时将显示如图2所示的运行结果。 图2 输入正确内容时的效果
说明本实例的代码需要在PyCharm中运行。
通过字符串的一些方法可以很方便地进行验证但灵活度不够。使用字符的ASCII码进行数据验证方便、灵活而且高效。如对输入进行数字验证要求输入5位数字并且只允许输入数字1~8注意验证时没有考虑密码是否一致代码如下
instrinput(请输入5位数字验证码).strip( )
isgogo
if len(instr)! 5: print(输入非5位数字请重新输入) isgo no
else: for i in instr: if ord(i) not in range(ord(1),ord(9)): print(输入了非有效数字字符请重新输入) isgo no break
if isgo go: print(正在登录站长之家系统)
输出效果如图3、图4、图5所示。 图3 输入正确的数字 图4 输入位数不够的效果 图5 输入含非有效的数字字符
注册用户时如果要求输入的用户名为所有字母、数字和符号除了、\、/、#4个特殊符号该如何验证呢字母、数字和符号的ASCII码值范围十进制是33到126需要去除的特殊字符、\、/、#的ASCII码值为64、47、92、35。编写代码如下
instrinput(注册用户名).strip( )
isgogo
for i in instr: if ord(i) in range(33,127): if ord(i) in [64,47,92,35]: print(输入了非法字符 , i, 请重新输入) isgo no break else: print(输入了非法字符,请重新输入) isgo no break
if isgo go: print(用户名注册完成请继续填写其他注册信息)
程序运行后输入注册用户名如mingrisoft001并按下〈Enter〉键将提示“用户注册完成请继续填写其他注册信息”运行效果如图6所示输入“mingri#”因为包含了非法字符“#”则提示“输入了非法字符 # 请重新输入”运行效果如图7所示。 图6 输入正确的字符 图7 输入非法字符的效果 应用场景
场景一对输入的用户名和密码进行验证
对输入的用户名和密码进行验证假设用户的用户名为“joe”密码为“123456”。如果用户输入正确则提示用户“稍后正在进入账户”如果输入用户和u则提示用户“用户名或密码输入错误请重新输入”让用户重新输入如果用户名和密码输入错误超过三次则提示“用户或密码输入错误超过三个将退出程序”然后退出程序。实现代码如下
for i in range(0,3): user input(请输入用户名) if user joe: password input(请输入密码) if password 123456: print(稍后正在进入账户,end ) break else: print(密码输入错误请重新输入) else: print(用户名输入错误请重新输入)if userjoeand password 123456: print(稍后正在进入账户,end )else: print(用户或密码输入错误超过三个将退出程序)
运行程序输出效果如图8图9图10所示。 场景二输入三角形的三边长来判断是怎样的三角形
如果要一次转换多个输入数据的值可以使用map()函数。map()函数可以接收一个函数和列表并通过函数依次作用到列表的每个元素返回一个新的列表。本例输入三角形三个边的边长要一次输入需要使用map()、input()和int()函数。具体用法为a,b,cmap(int,input().split( ))split()函数通过空格分解字符串为列表int()函数将分解的字符串转换为数字实现代码如下
a, b, c map(int, input(请输入三角形的三条边长,用空格间隔:).split()) # 分解输入的边长
if a 0 and b 0 and c 0: # 判断输入的边长是否大于0 if a b c and b c a and a c b: # 判断输入的边长是否构成三角形 ans 可以构成三角形 if a b and b c and a c: # 判断是否构成等边三角形 ans 可以构成等边三角形 else: if a b or b c or a c: # 判断是否构成等腰三角形 ans 可以构成等腰三角形 # 判断是否构成等腰直角三角形 if a ** 2 b ** 2 c ** 2 or b ** 2 a ** 2 c ** 2 or c ** 2 a ** 2 b ** 2: ans 可以构成等腰直角三角形 else: ans 不能构成三角形
else: ans 边长必须大于0
print(ans)
运行程序如果输入3 4 5则输出结果如下。
请输入三角形的三条边长,用空格间隔:3 4 5
可以构成等腰直角三角形
运行程序如果输入10 10 10则输出结果如下。
请输入三角形的三条边长,用空格间隔:10 10 10
可以构成等边三角形
场景三通过键盘控制DOS下主程序菜单的选择
在DOS或命令提示符下运行的程序主功能菜单通常是通过菜单列表前面的数字进行程序功能选择的。是否可以通过键盘的上下键进行选择呢当然是可以的通过正则表达式对输入的数字或者移动的方向键进行判断就可以通过数字键和方向键对菜单的选择。代码如下
import re
print( Microsoft MS-DOS 10 Startup Menu 1.ghost 11.2 2.ghost 8.3 3.DOS TOOLS 4.PGMAGIC 5.DOS 0.退出系统 说明通过数字键或者↑↓方向键选择菜单 )
option_str input(请通过数字键或者↑↓方向键选择功能)
option re.sub(r\D,,option_str)
if int(option) 1: # 选择数字键1执行的菜单 print(将运行ghost 11.2系统)
if int(option) 2: # 选择数字键2执行的菜单 print(将运行ghost 8.3系统)
if int(option) 3: # 选择数字键3执行的菜单 print(将运行DOS 工具箱)
if int(option) 4: # 选择数字键4执行的菜单 print(将运行系统魔法设置)
if int(option) 5: # 选择数字键5执行的菜单 print(将进入DOS系统)
if int(option) 0: # 选择数字键0退出系统 print(将退出系统)
程序的运行结果如图11所示。 图11 运行结果
说明本程序如果想通过方向键选择菜单需要在命令行窗口或者IDLE下运行。