取值范围为-2,3源码文件以 UTF-8 编码

作者: 编程  发布:2019-11-21

一.字符格式化输出

Python 自学的日子--One day笔记- 字符串拼接 + if while for循环,python--one

注释
单行注释 #
多行注释 ''' 三个单引号或者三个双引号 """

''' 用三引号引住可以多行赋值

用户交互 input

字符串拼接
+  ""%() "".format()推荐使用
name = input("name:")
age = int(input("age:"))
sex = input("sex:")
例:+
# 字符串拼接+
info1 = '''----info in ''' + name + '''---
name:''' + name + '''
age:''' + age + '''
sex:''' + sex + '''
'''
例:""%()
# %格式化字符串
info = '''------info in %s -------
name:%s
age:%d
sex:%s
''' % ("name", "name", age, "sex")

#"".format()
info3 = '''---info in {_name}---
name:{_name}
age:{_age}
sex:{_sex}
'''.format(_name=name,
           _age=age,
           _sex=sex)
info4 = '''---info in {0}---
name:{0}
age:{1}
sex:{2}'''.format(name, age, sex)

模块定义:
密文密码:getpass  引用后使用,getpass.getpass()
if else 使用
9159.com,例:
username = "username"
password = "123456"
_Username = input("Username:")
_Passwd = input("Password:")
if username == _Username and password == _Passwd:
    print("welcome user {name} to beij".format(name=username))
else:
    print("Invalid  username or passwd")

if elif else
例:
Myage = 37
InputAge = int(input("please input my age:"))
if InputAge == Myage:
    print("It's right")
elif InputAge > Myage:
    print("Think small")
else:
    print("Think big")

While else 循环
count = 0
while count < 3:
    Myage = 37
    InputAge = int(input("please input my age:"))
    if InputAge == Myage:
        print("It's right")
        break
    elif InputAge > Myage:
        print("Think small")
    else:
        print("Think big")
    count+=1
else:
    print("fuck you!")

break    跳出当前整个循环
continue 跳出当前循环,进入下次循环

 

作业

编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定
old_uname = open(r'C:UsersAdministratorDesktopusername.txt', 'r').readlines()
count = 0
while count < 3:
    username = input("please your username:")
    passwd = input("please your passwd:")
    for i in old_uname:
        if i == username:
            print("wolcome to your blogs:{_uname}".format(_uneme=username))
            break
        else:
            continue
    else:
        count += 1
        if count == 3:
            continue
        print("The password you entered is incorrect!please input again...")
else:
    print("三次错误,账号已锁定")
    open(r'C:UsersAdministratorDesktoplockname.txt', 'a').write(username + 'n')


字符串基础
(1)、转义字符串             
(2)、raw字符串--转义机制  open(r'c:tmpa.txt','a+')
(3)、Unicode字符串
(4)、格式化字符串  "age %d,sex %s,record %m.nf"%(20,"man",73.45)
字符串基础操作
 + 连接 、* 重复、s[i] 索引(index)、s[i:j] 切片(slice)、for循环遍历

自学的日子--One day笔记- 字符串拼接 + if while for循环,python--one 注释 单行注释 # 多行注释 ''' 三个单引号或者三个双引号 """ ''' 用三引...

一,数据类型

1.编码问题

占位符 %s s = string 字符串
           %d d = digit 整数
           %f f = float 浮点数

1.整数类型:int

默认情况下,Python 3源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 也可以为源码文件指定不同的编码,在文件头部加上:

name = input("Name:")
age = int(input("Age:"))
job = input("Job:")
salary = input("Salary:")
age=int(age)
salary = int(salary)
msg = '''
Name: %s
Age : %d
Job : %s
Salary: %f
''' % (name , age , job ,salary )
print(msg)

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

 # coding=gbk 

  ''' ......'''不仅可以表示注释多行,也可以表示打印多行。

在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

 

二.str.isdigit()方法

在Python中,可以对整数执行加(+)减(-)乘(*)除(/)的运算

2.关键字

检查字符串是否只由数字组成

a = 2
b = 3
print(a+b)
print(a*b)
print(a-b)
print(a/b)

保留字即关键字,Python的标准库提供了一个keyword module,可以输出当前版本的所有关键字:

三.for循环

2.字符串:str

>>> import keyword
>>> keyword.kwlist

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

简单的for循环,输出从0到9。

在Python中,加了引号的字符都被认为是字符串!

 

for i in range(10):
    print( i )

9159.com 1

3.注释

for循环可以指定范围,输出从1到9,包括首项不包括末尾。

name = 'wang'
name1 = "shuai"
name2 = '''我最帅,呵呵! '''


print(name)
print(name1)
print(name2)

name = 'wang'
name1 = "shuai"
name2 = '''我最帅,呵呵! '''


print(name)
print(name1)
print(name2)

Python中单行注释以#开头,多行注释用三个单引号(''')或者三个双引号(""")将注释括起来。

for i in range(1,10):
    print( i )

 

 

for循环也有for...else...的结构

''' '''的用途,多行字符串用‘’‘ ‘’’

4.变量

for i in range(3):
    print( i )
else:
    print("This is else statement")
msg = '''
今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像一只炸毛鸡。
'''
print(msg)

Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建

如果使用break同样全部跳出不执行else语句。

字符串的拼接

 

四.列表list

字符串可以相加也可以相乘。

Python 3支持int、float、bool、complex(复数)。

list1=[9,3,5,4,6,1]

#按索引取值
print(list1[2])#结果为5

#切片list[start:end:step]
print(list1[0:5])#结果为[9,3,5,4,6]包括起始项不包括尾项
print(list1[0:])#结果为[9,3,5,4,6,1]从起始值取到最后
print(list1[0:-1])#结果为[9,3,5,4,6]从起始值取到倒数第二值,-1表示最后一个的索引
print(list1[0::2])#结果为[9,5,6]步长为2,隔一个取一个
print(list1[3::-1])#结果为[4,5,3,9]步长为-1,步长同时表示方向
print(list1[3:-1:-1])#结果为[]终止点不随步长方向改变
print(list1[-1:1:-1])#结果为[1,6,4,5]

#添加
list1.append(7)#表示将7添加到最后一位[9,3,5,4,6,1,7]
list1.insert(2,8)#表示将8插入到索引为2的地方[9,3,8,5,4,6,1,7]

#修改
list1[0]=2 #[2,3,8,5,4,6,1,7]
list1[1:3]=[8,3]#[2,8,3,5,4,6,1,7]

#删除
print(list1.pop())#删除最后一个值,pop函数有返回值,输出的为所删除的值[2,8,3,5,4,6,1]
print(list1.pop(2))#删除索引为2的值[2,8,5,4,6,1],输出3
list1.remove(5)#移除列表中的第一个5,[2,8,4,6,1]

#输出列表元素个数
print(len(list1))#输出为5

#计算某元素出现的个数
list2=[1,1,1,2,3,4,1]
print(list2.count(1))#输出为4

#扩展列表
 a = [1, 2, 3]
 b = [4, 5, 6]
 a.extend(b)
 print(a)#输出[1,2,3,4,5,6]
 print(b)#输出[4,5,6]
 print(a+b)#列表可以相加,输出为[1,2,3,4,5,6,4,5,6],但不会改变a和b的值

#从列表中找出某个值的第一个匹配值的索引index(object,start,stop)
c=[1,1,1,2,3,4]
print(c.index(1,1,3))#输出为1

#列表排序
list1.sort()#默认reverse=False
print(list1)#[1,2,4,6,8]
sorted(list1)#也可以将list1排序,但不会改变list1,而是生成一个新的列表
#如果是字符串列表,则按其首字母的ASCII码的顺序排列

#列表反向排序
list1.reverse()
print(list1)#输出为[8,6,4,2,1]

#成员运算in和not in
if 4 in list1:
    print("yes",end=" ")
if 3 not in list1:
    print("no")#输出结果为yes no

#判断列表是否为空

list3=[]

if list3 :
    print('不为空')
else :
    print('列表为空')#输出结果为列表为空
name = 'wang'
age = '25'
print(name + age)
print(name * 10)

数值运算:

  

字符串的拼接只能双方或多方都是字符串不能与数字或其它类型拼接!!!

  • Python可以同时为多个变量赋值,如a, b = 1, 2。
  • 一个变量可以通过赋值指向不同类型的对象。
  • 数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符。
  • 在混合计算时,Python会把整型转换成为浮点数。

 

3.布尔值:Ture,False

 

 

布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断

字符串:

a = 1
b = 2
print(a>b)
print(b>a)

python中的字符串str用单引号(' ')或双引号(" ")括起来,同时使用反斜杠()转义特殊字符

 

字符串可以使用 + 运算符串连接在一起,或者用 * 运算符重复

二,格式化输出

1 text = 'ice'+' cream'
2 print(text)
3 
4 text = 'ice cream '*3
5 print(text)
name = input('Name:')
age = input('Age:')
job = input('Job:')
hobbie = input('Hobbie:')
abc ='''
------------ info of %s -----------
Name  : %s
Age   : %s
Job   : %s
Hobbie: %s
------------- end -----------------
'''%(name,name,age,job,hobbie)
print(abc)

 

%s就是代表字符串占位符,除此之外,还有%d,是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字啦

使用三引号('''...'''或"""...""")可以指定一个多行字符串

name = input('Name:')
age = int(input('Age:'))
job = input('Job:')
hobbie = input('Hobbie:')
abc ='''
------------ info of %s -----------
Name  : %s
Age   : %d   #这里不一样,只能输入数字
Job   : %s
Hobbie: %s
------------- end -----------------
'''%(name,name,age,job,hobbie)
print(abc)
1 text = '''啦啦啦
2 喔呵呵呵呵
3 呵呵你妹'''
4 print(text)
5 text = 'ice
6         cream'
7 print(text)

三,基本运算符

 

1.算数运算

如果不想让反斜杠发生转义,可以在字符串前面添加一个 r 或 R ,表示原始字符串。

a = 2                   
b = 4
print(a+b) 

print(a-b)

print(a*b)

print(a/b)

print(a%b)

print(a**b)

print(b//a)

如 r"this is a line with n" 则n会显示,并不是换行

2.比较运算

1 text1 = r'E:notice'
2 text2 = "let's go!"
3 text3 = r'this is a line with n'
4 print(text1)  # E:notice
5 print(text2)  # let's go!
6 print(text3)  # this is a line with n
a = 1
b = 2
print(a > b)
print(b > a)
print(a == b)
print (a != b)
print(a >= b)
print(a <= b)

 

3.逻辑运算

字符串有两种索引方式,第一种是从左往右,从0开始依次增加;第二种是从右往左,从-1开始依次减少。

and:布尔‘与’。如果a为False,a and b 返回False,否则它返回b的计算值。

python中没有单独的字符类型,一个字符就是长度为1的字符串

not:布尔‘非’。如果a为True,返回False。如果a为False,它返回Ture。

1 text = 'ice cream'
2 print(len(text))
3 
4 print(text[0])  # i
5 print(text[-9])  # i
6 
7 print(text[8])  # m
8 print(text[-1])  # m

or:布尔‘或’。如果a是True,他返回Ture,否则它返回b的计算值。

 

  在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

python字符串不能被改变。向一个索引位置赋值会导致错误

1,3>4 or 4<3 and 1==1
2,1 < 2 and 3 < 4 or 1>2 
3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
1 text = 'ice cream'
2 text[0] = 't'  # 报错
3 print(text)

四,流程控制语句: if

 

if ....else语句

还可以对字符串进行切片,获取一段子串。用冒号分隔两个索引,形式为变量[头下标:尾下标]。

单分支

截取的范围是前闭后开的,并且两个索引都可以省略:

if 条件
   满足条件执行的代码

age = 29
if age == 29:  
   print('你好帅') 
1 text = 'ice cream'
2 print(text[:3])  # ice
3 print(text[4:9])  # cream
4 print(text[4:])  # cream

双分支

 

age = 29
if age == 30:
  print('你好帅')
else:
  print('你很衰')

5.三目运算符

多分支

1 x = 100
2 y = 200
3 z = x if x > y else y
4 print(z)  # 200
age = 29
guess = int(input('age:'))
if guess < age:
   print('我有那么年轻吗?')
elif guess > age :
    print('你说的是你自己的岁数吧!')
else:
    print('你很帅,猜对了')

 

 

6.分支

五,流程控制语句: while

if-else 语句与其他语言类似,不再赘述

while 条件:
    循环体
    如果条件为真,那么循环体执行
    如果条件为假,那么循环体不执行

count = 0

while count < 100:
    print(count)
    count += 1

if-elif-else 语句,相当于c或java语言中的if-else if-else :

break 跳出循环

 1 while True:
 2     score = int(input("Please input your score : "))
 3     if 90 <= score <= 100:
 4         print('A')
 5     elif score >= 80:
 6         print('B')
 7     elif score >= 70:
 8         print('C')
 9     elif score >= 60:
10         print('D')
11     else:
12         print('Your score is too low')
count = 0

while count < 100:
    print(count)
    if count == 10:
        break
    count += 1

 

continue 跳过本次循环

7.循环

count = -1

while count < 20:
    count += 1
    if count == 10:
        continue
    print(count)

while循环语句一般形式:

 

while 判断条件:

while.....else

   statements

while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

 1 import random
 2 
 3 print("hello world!n")
 4 number = random.randint(1, 10)
 5 temp = input("Please input a number : ")
 6 i = int(temp)
 7 
 8 while i != number:
 9     print("wrong...")
10     if i < number:
11         print("required a bigger number")
12     else:
13         print("required a smaller number")
14     temp = input("Please input a number : ")
15     i = int(temp)
16 
17 print("yes...")
count = -1

while count < 20:
    count += 1
    print(count)
else:
    print('0-20输出完毕')

 

这个是有break打断后就不输出的例子

for循环的一般格式如下:

count = -1

while count < 20:
    count += 1
    print(count)
    if count == 10:
        break
else:
    print('0-20输出完毕')

for <variable> in <sequence>:

 

  <statements>

else:

  <statements>

1 languaegs = ['C','c++','java','python']
2 for language in languaegs:
3     print(language, len(language))

 

循环语句可以有else子句

它在穷尽列表(以for循环)或条件变为假(以while循环)循环终止时被执行

但循环被break终止时不执行.如下查寻质数的循环例子

1 for num in range(2, 10):
2     for x in range(2, num):
3         if num%x == 0:
4             print(num, 'equals', x, '*', num//x)
5             break
6     else:
7         # 循环中没有找到元素
8         print(num, 'is a prime number')

 

如果需要遍历数字序列,可以使用内置range()函数:

 1 # range()函数,含头不含尾
 2 # 0~4
 3 for i in range(5):
 4     print(i)
 5 
 6 # 2~7
 7 for i in range(2, 8):
 8     print(i)
 9 
10 # 1~9 步长为3
11 for i in range(1, 10, 3):
12     print(i)

 

range()函数与for循环结合:

1 languaegs = ['c','c++','java','python']
2 for i in range(len(languaegs)):
3     print(i, ':', languaegs[i])

 

本文由9159.com发布于编程,转载请注明出处:取值范围为-2,3源码文件以 UTF-8 编码

关键词:

上一篇:没有了
下一篇:没有了