python--数据类型--条件判断--类型转换--循环--字符串格式化--字符串常用方法(day1)
一、数据类型
1、"" 和'',本质没有什么区别,用的时候看要输出内容,灵活使用
(1) 输出 let's go
1 print("let's go")
(2) 输出 春光长得"很帅"
1 print('春光长得"很帅"')
(3)输出 let's go,春光长得"很帅"
1 print('''let's go,春光长得"很帅"''')
(4)输出 '''let's go,春光长得"很帅"'''
1 print("""'''let's go,春光长得"很帅"'''""")
2、多行注释
(1)选中 然后Ctrl+/
(2)''' '''
3、数据类型:
1 name = 'xiaohei'#定义变量字符串,string 类型 2 age = 18 #定义整型 3 score = 98.8 #浮点数 float
4、条件判断
4.1 单条件判断
#条件判断 if--else
if age >= 18:
print("成年人")
else:
print("还是个宝宝")
4.2 多条件判断
#多种条件判断
score = 98.8
if score >= 90 and score <= 100:
print("优秀")
elif score <90 and score >= 80:
print("良好")
elif score <80 and score >= 60:
print("及格")
elif score < 60:
print("不及格")
else:
print('分数不合法')
4.3 类型错误问题
查看下输入的score 的类型 type(score), 结果如下
input 接收的都是string 类型,需要类型转换 #raw_input() python2里面
解决方案就是 score = int(score)#类型转换
5、循环--while
举例子:
#1、随机产生一个1-100之间的数字
#2、输入一个1-100之间的数字,
#3、总共7次机会
#4、如果猜大了,提示猜大了,继续猜,
#5、如果猜对了,就结束游戏
1 import random 2 number = random.randint(1,100)#产生1-100之间的随机数 3 count = 0 4 while count <7: 5 guess = input("请输入数字:") 6 guess = int(guess)#string类型转换成int 7 count = count+1 8 if guess == number: 9 print("猜对了,游戏结束") 10 break 11 elif guess < number: 12 print("猜小了,游戏继续") 13 continue 14 elif guess > number: 15 print("猜大了,游戏继续") 16 continue 17 else: 18 print("输入不合法") 19 if count == 7: 20 print("次数用完")
执行结果,当地7次猜对了,也会提示次数用完,结果办法如下
1 import random 2 number = random.randint(1,100)#产生1-100之间的随机数 3 count = 0 4 while count <7: 5 guess = input("请输入数字:") 6 guess = int(guess)#string类型转换成int 7 count = count+1 8 if guess == number: 9 print("猜对了,游戏结束") 10 break 11 elif guess < number: 12 print("猜小了,游戏继续") 13 continue 14 elif guess > number: 15 print("猜大了,游戏继续") 16 continue 17 else: 18 print("输入不合法") 19 else: 20 print("次数用完")#while 对应else的作用,循环正常结束后,会执行else 内的代码
这样修改可以达到预取效果
6、循环--for
猜数字游戏用for 循环
#1、随机产生一个1-100之间的数字
#2、输入一个1-100之间的数字,
#3、总共7次机会
#4、如果猜大了,提示猜大了,继续猜,
#5、如果猜对了,就结束游戏
1 import random 2 number = random.randint(1,100)#产生1-100之间的随机数 3 #count = 0 4 for i in range(7): 5 guess = input("请输入数字:") 6 guess = int(guess)#string类型转换成int 7 # count = count+1 8 if guess == number: 9 print("猜对了,游戏结束") 10 break 11 elif guess < number: 12 print("猜小了,游戏继续") 13 continue 14 elif guess > number: 15 print("猜大了,游戏继续") 16 continue 17 else: 18 print("输入不合法") 19 else: 20 print("次数用完")#while 对应else的作用,循环正常结束后,会执行else 内的代码
6、字符串格式化
1 import datetime 2 user = '洛歆' 3 today = datetime.datetime.today() 4 msg1 = '欢迎' + user + ',' + '今天的日期是' + today 5 msg2 = '欢迎%s登录,今天的日期是%s'%(user,today)#占位符 6 print('方法一',msg1) 7 print('方法二',msg2)
修改后
1 import datetime 2 user = '洛歆' 3 today = datetime.datetime.today() 4 msg1 = '欢迎' + user + '登录,' + '今天的日期是' + str(today) 5 msg2 = '欢迎%s登录,今天的日期是%s'%(user,today)#占位符,%s占位符的数据类型都是string 6 print('方法一',msg1) 7 print('方法二',msg2)
1 import datetime 2 user = '洛歆' 3 today = datetime.datetime.today() 4 print('today 的类型是:',type(today)) 5 msg1 = '欢迎' + user + '登录,' + '今天的日期是' + str(today) 6 msg2 = '欢迎%s登录,今天的日期是%s'%(user,today)#占位符,%s占位符的数据类型都是string 7 msg3 = '欢迎%s登录' % user 8 age = 18 9 score = 95.5 10 msg4 = '你的名字是%s,你的年纪是%d,你的分数是%f'%(user,age,score)#%d是int类型,%f是float类型。%2f保留2位小数,%3f是保留3位小数,%f默认保留6位小数 11 print('方法一',msg1) 12 print('方法二',msg2) 13 print('只有一个占位符,不用加()',msg3) 14 print(msg4)
快速复制一行代码 ctrl +d
1 #方法三 2 #sql = 'insert into user(username,password,role,email,phone)values (%s,%s,%s,%s,%s);'%(username1,password1,role1,email1,phone1)#字段比较多时,用占位符时可能导致 3 sql = 'insert into user(username,password,role,email,phone)values({username},'\ 4 '{password},{role},{email},{phone})'.format(phone = phone1,email = email1,password = password1,username = username1,role = role1) 5 print(sql)
结果是:insert into user(username,password,role,email,phone)values(xiaoming,123456,1,xiaohua@qq.com,144567890)
1 import datetime 2 user = '洛歆' 3 today = datetime.datetime.today() 4 age = 18 5 score = 95.5 6 msg5 = '你的名字是{name},年龄是{age}'.format(name = user,age = age) 7 print('方法三',msg5) 8 msg6 = '你的名字是{},年龄是{}'.format(user, age) 9 print('方法四',msg6)
结果是
方法三 你的名字是洛歆,年龄是18
方法四 你的名字是洛歆,年龄是18
7、字符串常用方法
1 s = 'abcc' 2 res1 = s.count('c')#统计出现的个数 3 res2 = s.count('h')#统计出现的个数 4 print(res1) 5 print(res2) 6 7 ss= ' hu mDD ' 8 res3 = ss.strip() #去前后的空格和换行符,但是不能去除中间的空格 9 print(res3) 10 print(ss.lstrip())#去左边的空格 11 print(ss.rsplit())#去右边的空格 12 13 print(ss.lower())#把字符串变成小写的 14 print(ss.upper())#把字符串变成大写的
8、random 常用方法
1 import random 2 number = random.randint(1,100)#random.randint() 产生随机数 3 print('随机数是:',number) 4 s = 'adcd123456' 5 result = random.choice(s)#random.choice()随机选择一个元素 6 print('随机元素:',result) 7 8 print('字符串长度是:',len(s)) #len()取字符串的长度,指字符串中有几个元素