一、内容回顾
1.多行注释也等于多行打印
python中单引号与双引号是一样的
msg='''hello1
hello2
hello3'''
print(msg)
#结果:
#hello1
#hello2
#hello3
1.for、if、while(break、continue)循环
用户登录
可连续登录三次直到成功,三次若不成功则输出失败,若成功则退出循环
_user = "cao"
_pass = "5974219"
flag=False
for i in range(3):
username = input("Name:")
password = input("Password:")
if username == _user and password == _pass:
print("welcome to %s world" % _user)
flag=True
break
else:
print('Invalid username or password!')
if not flag:
print("失败")
##简洁写法
#利用for循环中else语句,若正常执行完毕则不会执行else语句,若中间被打断则不执行
_user = "cao"
_pass = "5974219"
for i in range(3):
username = input("Name:")
password = input("Password:")
if username == _user and password == _pass:
print("welcome to %s world" % _user)
break
else:
print('Invalid username or password!')
else:
# for循环若正常执行完毕则不会执行else语句,若中间被打断则不执行
print("失败")
#三次后加入还想玩吗?进行判断
_user = "cao"
_pass = "5974219"
counter = 0
while counter < 3:
username = input("Name:")
password = input("Password:")
if username == _user and password == _pass:
print("Welcome to %s login..." % _user)
break
else:
print("Invalid username or password")
counter += 1
if counter == 3:
keep_going_choice = input("还想玩吗?[y/n]")
if keep_going_choice == "y":
counter = 0
else:
print("别玩了!")
二、新知识
1.pycharm的使用
2.字符串格式化输出
占位符 :%s s=string,输入字符串。%d d=digit,必须输入数字。%f f=float 小数,输入整数时会强制转换为小数
需要对应关系才能对应输出想要的结果
判断对应输入的是否是想要的类型
比如,工资一般是数字类型,若输入的为2000D则需要重新输入一次
name = input("Name:")
age = int(input("Age:"))
job = input("Job:")
salary = input("Salary:")
# 判断salary是否长得像数字.isdigit
if salary.isdigit():
salary=int(salary)
else:
print("must be digit")
msg = '''
--------info of %s--------
Name:%s
Age:%s
Job:%s
Salary:%s
you will be retired %s years
---------end----------
''' % (name, name, age, job, salary, 60 - age)
print(msg)
3.数据类型
int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型) 先扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。 注:Python中存在小数字池:-5 ~ 257 Boolean(布尔值) 真或假 1 或 0 4.列表,元组,字典 列表
a = ['wuchao', 'jinxing', 'xiaohu', 'sanpang', 'ligang']
# 增删改查
# 增 切片
print(a[1:]) # 取到最后
print(a[1:-1]) # 取到倒数第二值
print(a[0:-1:1]) # 从左到右依次取数
print(a[1:-1:2]) # 从左到右依次取数,步长为2
# 先展示sanpang再jinxing
print(a[3::-2])
print(a[3::-1])
print(a[3:1:-1])
# append:添加到最后 insert:插入到任一位置
# append
a.append('xupeng')
a.insert(1, 'xuepeng')
# 修改
a[1] = 'baixue'
print(a)
a[1:3] = ['a', 'b']
# 删除 remove pop del
a.remove('wuchao')
print(a)
a.pop(2)
b = a.pop(2)
print(a)
print(b)
del a[0]
print(a)
# extend函数添加
m = ['1', '2', '3']
p = ['4', '5', '6']
a.extend(b)
print(a)
print(b)
# index查找元素对应下标
a.index('xuepeng')
print(a.index('xuepeng'))
#6
# reverse列表中元素倒置
a = ['wuchao', 'jinxing', 'xiaohu', 'sanpang', 'ligang']
a.reverse()
print(a)
# sort排序,3.0里不同数据类型不能放在一起排序了
x = [4, 6, 2, 1, 7, 9]
x.sort()
print(x)
# count查某个元素出现的次数
b = a.count('wuchao')
print(b)#1
寻找第二个ligang的位置
a = ['wuchao', 'jinxing', 'xiaohu', 'sanpang', 'ligang', 'sanmao', 'zhangyang', 'ligang']
first_lg_index = a.index('ligang')
print('first_lg_index', first_lg_index)
little_list = a[first_lg_index + 1:]
print(little_list)
second_lg_index = little_list.index('ligang')
print('second_lg_index', second_lg_index)
final_lg_index = first_lg_index + second_lg_index + 1
print('final_lg_index', final_lg_index)
标签:username,lg,index,Python,学习,day03,print,input,password From: https://www.cnblogs.com/caosongsong/p/17026827.html