python(二) 基础: 变量、常量、基础数据类型、格式化输出、运算

一 、  变量

解释:将程序运算的中间结果这哪是存储起来,以便后续程序调用。

变量定义的规则:

1,  变量必须要有数字,字母,下划线,任意组合。2, 变量不能数字开头。

2, 变量不能数字开头。

3, 不能是python中的关键字。
  ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for',
  'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

4,变量要具有可描述性。

5,变量不建议使用中文。

6,变量不能过长。

7,官方推荐:驼峰体 或 下划线样式

1  # 驼峰体:
2  AgeOfOldboy = 56         
3  NumberOfStudents = 80
4 
5 
6  # 下划线:  
7 age_of_oldboy = 56
8 number_of_students = 80

8, 变量要用' '," ",''' '''     # 三引号用于换行的字符串

9, 单双引号配合使

1 msg = "My name is Alex , I'm 73 years old!"
2 # 双引号表示字符串规则, 单引号则为原文内容
3 print(msg)

二  、 常量

  解释:一直不变的量,例如:π  身份证号
  使用:将变量全部大写,放在文件的最上面。

三 、 注释

  解释:帮助你解释说明,注释不宜多,宜精。

  1, 单行注释:#
  2,多行注释:''' 被注释内容 ''' """ 被注释内容 """

、Python基础数据类型

1、整数(int)

  主要用于计算,计数,+-*/%    

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

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

2、字符串(str)

 1 # 在python中,凡是用引号引起来的数据都是字符串
 2 # 单引号,双引号,三引号引起来没有任何区别
 3 
 4 name = '王大锤'
 5 name = "王大锤"
 6 name = '''王大锤'''
 7 
 8 
 9 # 单双引号配合使用: msg = "My name is Alex , I'm 22 years old!"
10 #多引号用于换行
11 
12 msg = '''
13 床前明月光,
14 疑是地上霜。
15 举头望明月,
16 低头思故乡。
17 '''
18 print(msg)

    

字符串的使用: 

1 # 字符串的相加 :字符串的拼接
2 s1 = '123'
3 s2 = 'asd'
4 print(s1 + s2)  # 结果为:123asd
5 
6 
7 # 字符串与数字相乘
8 s3 = '中国'
9 print(s3*3)  # 结果为:中国中国中国

注意:用户交互input: input出来的数据都是字符串类型。

   字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

3、布尔值(bool)

  True ,  False      作用:用于逻辑运算的判断

print(1>2)
# 结果为: false

五 、 格式化输出

  代码格式:     '我叫%s,今年%d' % ('文博', 18)       

  注意:          s :字符串  d:整数 f:浮点型

    

方法一

 1 name = input('请输入姓名:')
 2 age = input('请输入年龄:')
 3 job = input('请输入工作:')
 4 hobby = input('请输入爱好:')
 5 
 6 msg = """
 7 ------------ info of %s -----------
 8 Name  : %s
 9 Age   : %d
10 job   : %s
11 Hobby: %s
12 ------------- end -----------------
13 """ % (name, name, int(age), job, hobby)
14 print(msg)

  

 方法二

 1 dic = {"name": 'alex', 'age': 18, 'job': 'IT', 'hobby': ''}
 2 
 3 msg = """
 4 ------------ info of %(name)s -----------
 5 Name  : %(name)s
 6 Age   : %(age)d
 7 job   : %(job)s
 8 Hobby: %(hobby)s
 9 ------------- end -----------------
10 """ % dic
11 print(msg)

 方法三(简化版)

1 name = input('请输入姓名:')
2 age = input('请输入年龄:')
3 job = input('请输入工作:')
4 hobby = input('请输入爱好:')
5 
6 msg = 'Name: %s, Age: %d, job: %s, Hobby: %s' % (name, int(age), job, hobby)
7 print(msg)

注意:在格式化输出中只想单纯的表示%  ,写成  %%

msg = '我叫%s,今年%d,学习进度5%%' % ('文博', 18)
print(msg)
# 结果为:我叫文博,今年18,学习进度5%

总结:如果你想制作一个字符串类的模板,或者是想让字符串某些位置变成动态输入,此时你想到用字符串拼接,格式化输出。

六 、 运算

1, 算术运算: + - * / % **

1 a = 10
2 b = 3
3 print(a % b)  # 取余,结果1
4 print(2**2) #  乘以,结果4
5 print(a // b)#  除以,结果取整,结果为3

    

2, 比较运算: == !=  > < >= <=

   

3,   赋值运算: += -=  * / % **

    

4,   逻辑运算:not and or

  优先级:() not and or : 同一优先级从左之后依次计算

注意 x or y , x为真,值就是x,x为假,值是y;

          x and y, x为真,值是y,x为假,值是x。

两边都是数值的运算

1 x or y
2 if x is True:
3     return x
4 else:
5 # 此为说明,该代码不能执行
1 x and y
2 if x is True
3     return y
4 else5     return x
6 # 此为说明,该代码不能执行

两边都是比较的运算

1 print(3 > 2 and 3 < 4 or 5 > 6 and 2 < 5)
2 # 先比较3>2 and 3<4,即true and false,结果为true,
3 # 再比较5 > 6 and 2 < 5,即false and true,结果为false
4 # 再比较true or false, 结果为 true
5 print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
6 print(True or False)

5,成员运算:判断某些元素在不在一个序列中 str,tuple, list, dict, set 

 6, Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

    

7, int 和 bool之间的转换:

 int ---> bool:非零即True

 bool ---> int :True  1, False  0

    

8, int 和 str之间的转换

  • int ---> str:

    i1 = 100
    s1 = str(i1)

  • int <--- str (字符串必须全部由数字组成)

    s1 = '123'
    i1 = int(s1) 

课后练习

'''
1、简述变量命名规范
'''
# 只能是 字母、数字或下划线的任意组合
# 第一个字符不能是数字
# 不能作为变量名的关键字:
#    'and', 'as', 'assert', 'break', 'class', 'continue', 'def',
#    'del', 'elif', 'else', 'except', 'exec', 'finally', 'for',
#    'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not',
#    'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'
# 要具有可描述性,不要词不达意

'''
2、name = input(“>>>”) name变量是什么数据类型?
'''
# 字符串

'''
3、if条件语 的基本结构?
'''
# if 条件:
#    满足条件,执行代码
# else
#   不满足if的条件,执行本条

'''
4、 print打印出下如内容:
文能提笔安天下, 武能上马定乾坤. 心存谋略何人胜, 古今英雄唯是君.
'''
# gushi = '''
# 文能提笔安天下,
# 武能上马定乾坤.
# 心存谋略何人胜,
# 古今英雄唯是君.
# '''
# print(gushi)

'''
5、if语句写出猜大小的游戏: 设定一个理想数字比如:66,让用户输入数字,如果比66大,则显 猜测的结果大了;
   如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。
'''
while 1 == 1:
   num = int(input('请随便输入一个数字:'))
   if num > 66:
       print('猜的太大了...')
   elif num < 66:
       print('猜的太小了...')
   else:
       print('恭喜,猜对了!')
       break

'''
6、提示 户输入他的年龄, 程序进行判断.
如果小于10, 提示小屁孩,
如果大于10,小于20, 提示青春期叛逆的小屁孩. 
如果打于20,小于30. 提示开始定性, 开始混社会的小屁孩 , 
如果大于30,小于40. 提示看老大不小了, 赶紧结婚小屁孩 . 
如果大于40,小于50. 提示家里有个不听话的小屁孩 . 
如果大于50,小于60. 提示自己马上变成不听话的老屁孩 .
如果大于60,小于70. 提示活着还不错的老屁孩 . 
如果大于70,小于90. 提示人生就快结束里的一个老屁孩 . 
如果大于90以上. 提示再见了这个世界.
'''

while 1 == 1:
   age = int(input('请输入您的年龄:'))
   msg1 = ''
   msg2 = ''
   msg3 = '屁孩儿'
   if age <= 0:
       print('还没出生')
   elif age < 10 and age > 0:
       print(msg1+msg3)
   elif age >= 10 and age < 20:
       print('青春叛逆期的'+msg1+msg3)
   elif age >= 20 and age < 30:
       print('开始定性,开始混社会的'+msg1+msg3)
   elif age >= 30 and age < 40:
       print('老大不小了,赶紧结婚'+msg1+msg3)
   elif age >= 40 and age < 50:
       print('家里有个不听话的'+msg1+msg3)
   elif age >= 50 and age < 60:
       print('自己马上变成不听话的'+msg2+msg3)
   elif age >= 60 and age < 70:
       print('活着还不错的'+msg2+msg3)
   elif age >= 70 and age < 90:
       print('人生就快结束了的一个'+msg2+msg3)
   elif age >= 90:
       print('再见了这个世界')
       break

'''
7、单行注释以及多行注释?
'''
# 单行注释:#
#     例如: #我是注释,这行会被注释掉
# 多行注释:'''   '''
#     例如:
#         '''
#         三对单引号
#         这一段
#         都会被注释
#         '''

'''
8、简述你所知道的Python3x和Python2x的区别?
'''
# 1.源码文件默认编码不同,py2.x默认ascill,Py3.X默认使用utf-8编码
# 2.部分语法不同
#    例如:2.X: print 'word'
#         3.X: print('word')
# 3.数据类型不同,例如:py3去处了long类型

'''
9、提示用户输入麻花藤. 判断用户输入的对不对. 如果对, 提示真聪明, 如果不对, 提示你是傻逼么
'''
username = input('请输入汉字【王大锤】:')
if username == '王大锤':
   print('输入正确,真聪明!')
else:
   print('输入错误...')

'''
10、使用while循环输入 1 2 3 4 5 6 8 9 10
'''
count = 0
while count < 10:
   count = count + 1
   if count == 7:
       continue
   print(count)

'''
11、求1-100的所有数的和
'''
x = 0
sum = 0
while x < 101:
    sum = sum + x
    x += 1
print('1-100所有数的和为'+str(sum))

'''
12、输出 1-100 内的所有奇数
'''
x = 0
while x < 101:
    x += 1
    if x % 2 == 1:
        print(x)
    else:
        continue

'''
13、输出 1-100 内的所有偶数
'''
x = 0
while x < 101:
    x += 1
    if x % 2 == 0:
        print(x)
    else:
        continue

'''
14、求1-2+3-4+5 ... 99的所有数的和
'''
x = 0
sum = 0
while x < 100:
    if x % 2 == 1:
        sum = sum + x
    else:
        sum = sum - x
    x += 1
print(sum)

'''
作业:用户登录
1. 三次重试机会
2. 每次输错误时显示剩余错误次数
'''
count = 3
while count > 0:
    count -= 1
    username = input('名字:')
    password = input('密码:')
    if username == '王大锤' and password == 111:
        print('登录成功')
    elif count > 0:
        print('输入错误,剩余%s次' % count)       
print('明天再来吧')
View Code
原文地址:https://www.cnblogs.com/caoyinshan/p/9878878.html