input() 函数----输入
1. 语法参考
name = input("please enter your name:") # 提示请输入你的名字print(name) # 输出名字
# 输入 《静夜思》 中的的诗句a = input("输入第一句:") #提示输入内容b = input("输入第二句:")c = input("输入第三句:")d = input("输入第四句:")list [a,b,c,d] # 将内容存入列表print(list) # 输出列表内容
# 提示输入数学、英语、语文成绩score1 = int(input("请输入数学成绩:")) # 转换为整型score2 = int(input("请输入英语成绩:"))score3 = int(input("请输入语文成绩:"))list = [score1,score2,score3] # 将变量内容存入列表print(list) # 输出列表内容
n = input("输入一个字符:") # 输入字母或数字 ,不能输入汉字value = ord(n) # 利用ord()函数将字符转换为对应的ascll码值print(n+"的ASCII码值为:",value) #显示字符对应的ascll码值
2. 快用锦囊
2.1 常用输入
name = input("") # 无提示型输入,不换行name1 = input("name") # 简洁型输入name2 = input("请输入您的姓名:") # 提示型输入,不换行name3 = input("姓名:\n") # 提示型输入,换行
data=[input('姓名'),input('电话:')],input('学校:')]print(data)
2.2 去除输入的非法字符
name = input("请输入您的姓名:").strip('') # 去除输入数据两端的空格age = input("请输入您的年龄:").lstrip('') # 去除输入数据左侧的空格print(name)print(age)
2.3 多数据输入
x,y=input("请输入出发地点的横、纵坐标值,用英文逗号分隔:").split(',') # 一行输入两个不限定类型的值name,age,height=input("请输入你的姓名、年龄和身高,用英文逗号分隔:\n").split(',') a,b=map(int,input("请输入两个数,用空格分隔:").split()) # 一行输入两个限定类型为int的值print(x,y)print(age)print(a,b)
sum = 0 for x in input("请输入多个加数,中间用空格分隔:").split(''): sum = sum + int(x)print(sum)
2.4 强制转换输入
age = int(input('age: '))print(age)print(type(age))
有时对输入的字符是有一定要求的,如首字母大写、全部为小写等,这时可以使用字符串的lower()、upper()、capitalize() 或者 title()等方法对输入的字符串进行强制转换。代码如下:
password = input('请输入您的密码:').upper() # 将输入的字符串转换为全部大写name= input('请输入您的姓名:').capitalize() # 将输入的字符串转换为首字母大写school= input('请输入您的学校:').title() # 将输入的全部转换为首字母大写print(password,name,school) # 输出以上转换后的内容
2.5 对输入数据进行验证
isalnum() :isalnum() :isdigit() :islower() :isupper(): istitle() :isspace() :
if input("请输入数字验证码:").isdigit(): print('正在登录草根之家商务系统!')else: print('输入非法,将退出系统!')
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.isdigit(instr): if len(instr) != 3: print("\033[1;31;40m 必须输入3个字母,请重新输入!!\033[0m") return "0" else: return instr else: print("\033[1;31;40m 输入非法,请重新输入!!\033[0m") return "0" if showorder == 3: # 判断是否为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"
print(inputbox('请输入3个字母',2))
instr = input('请输入5位数字验证码:').strip('')isgo='go'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' breakif isgo =='go' : print('正在登录站长之家系统!')
instr = input('注册用户名:').strip('')isgo='go'for i in instr: if ord(i) not in range(33,127) : if ord(i) in [64,47,92,35]: print("输入了非法字符 ", i ,"请重新输入!") isgo = 'no' break else: print("输入了非法字符,请重新输入!") isgo = 'no' breakif isgo =='go' : print('用户名注册完成,请继续填写其他注册信息!')
注:以上内容为《python速查手册》之读书笔记