python学习三(基础知识)

 

python基础学习三


 

本章内容

  1. 变量(数字和字符串转换)
  2. 输入输出
  3. 各类数据运算符以及优先级
  4. 注释
  5. 表达式if ...else语句
  6. 表达式for循环
  7. 表达式while 循环
  8. break and continue 
  9. 作业实例

 

变量(数字和字符串转换)

变量: 相当于存储信息的,即对一块数据存储空间的命名,可以被调用、修改操作
常量:固定不变的量
命名规则:
1.字母数字下划线组成
2. 不能以数字开头,不能含有特殊字符和空格
3. 不能以保留字命名
4. 不能以中文命名
5. 定义的变量名应该有意义
6. 驼峰式命、 下划线分割单词
7. 变量名区分大小写

以下关键字不能声明为变量名
['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']

 变量赋值

a = 1   #整数
b = hzw #字符串

2.输入输出

1.输入input

name = input("输入你的名字:")
print(name)

2.输出print

print("欢迎你访问该网址!")

3.end(不换行)

print函数默认会在末尾添加一个换行符(‘\n’)

加入end=''参数后,不会在末尾添加换行符,而是在末尾添加一个空字符串,end等于什么就会在末尾添加什么

这个只在python3中有效

3.各类数据运算符以及优先级

算术运算符 : + - * / //(取整除) %(取余) **(指数)

赋值运算符: = 、+= -= *= /= %= //= **=

比较运算符:>、 <、 >=、 <=、 ==、!= 

逻辑运算符: not 、and、 or

  • and 只有两个条件全部为True(正确)的时候, 结果才会为True(正确)
  • or 只要有一个条件为True,则结果为Ture
  • not不,非
  • 短路原则:

          对于and 如果前面的第一个条件为假,那么这个and前后两个条件组成的表达式 的计算结果就一定为假,第二个条件就不会被计算

         对于or如果前面的第一个条件为真,那么这个or前后两个条件组成的表达式 的计算结果就一定为真,第二个条件就不会被计算

成员运算符: not in 、in 

身份运算符: is、is not

优先级:

4.注释

#单行注释,#号右边的内容在执行的时候是不会被输出的

print(1) #输出1

在python中也会有注释有很多行的时候,这种情况下就需要批量多行注释符了,如下两种都可以实现。
'''多行注释'''

'''
1.输入名字
2.输入密码
3.密码输错三次,自动锁定
'''

""" 多行注释 """

 

"""
1.输入名字
2.输入密码
3.密码输错三次,自动锁定
"""

 

5.表达式if ...else语句

if 语句三种格式

#第一种

   if 条件:
      pass


#第二种
   if 条件:

      pass

   else:
      pass

#第三种

   if 条件1:
      pass
   elif 条件2:
      pass
   elif 条件3:
      pass
   else
      pass

实例一:输出三个数字中的最大值/最小值

num1 = input("Num1:")
num2 = input("Num2:")
num3 = input("Num3:")

max_num =0
    
if num1>num2:
    max_num= num1
    if max_num > num3:
        print("Max NUM is",max_num)
    else:
        print("Max NUM is",num3)
else:
    max_num = num2
    if max_num > num3:
        print("Max NUM is",max_num)
    else:
        print("Max NUM is",num3)

实例二、用户信息输入输出

name = input("Name:")
age = input("Age:")
job = input("Job:")
salary = input("Salary:")

if salary.isdigit():#长的像不像数字,比如200d,'200'
    salary = int(salary)
else:
    print("Must input digit")
    exit()#退出程序

msg = '''
------------------- info of %s ---------------------
Name: %s
Age: %s
Job: %s
salary: %s
------------------- end ------------------------------
''' % (name, name, age, job, salary)

print(msg)

6.表达式for循环

#range函数表示数字0到3,

#循环打印0,1,2
for i in range(3):
    print(i)

#循环打印1,2,3
for i in range(1,4):
    print("loop:", i)

#输出1到100中所有奇数
for i in range(1,101):
    if i % 2 == 1:
        print(i,end=" ")
print()

#输出1到100中所有奇数
for i in range(1,101,2): #2表示步长
    print(i, end=" ")
print()

7.表达式while 循环

# 循环输出1-10所有整数
num = 1
while num <11:
print(num)
num = num +1

8.break and continue 

break的作用: 结束循环,在死循环中,也可以通过设置一定的条件来结束循环

# 循环输出1-10所有整数,但num=5,结束该循环
num = 1
while num <11:
    print("当前数字是",num)
    if num == 5:
        break
    num = num +1
    print("现在数字变成了:",num)

 continue语句 结束本次循环,继续下一次循环 

9.作业实例

 实例一:编写登陆接口

输入用户名密码
认证成功后显示欢迎信息
输错三次后锁定

user = "hzw"
passwd = "abc123"

passed_authentication = False

for i in range(3):
    username = input("Username:")
    password = input("Password:")

    if username == user and password == passwd:
        print("Welcome %s login..." % user)
        passed_authentication = True
        break#跳出,中断
    else:
        print("Invalid username or password!")

if not passed_authentication:
    print("已经输错3次,自动退出")

实例二:输出九九乘表法

方法一

i = 1
while i<10:
    j = 1
    while j<=i:
        a=i*j
        print('%d*%d=%d' %(i,j,a),end=" ")
        j += 1
    print()
    i +=1

方法二

first = 1
while first<=9:
    sec = 1    
    while sec <= first:
        print(  str(sec)+"*"+ str(first) +"="+str(sec * first), end="\t")
        sec += 1    
    print()
    first += 1

实例三:使用 # 号 输出一个长方形,用户可以指定宽和高,如果长为3 ,高为4 ,则输出一个 横着有3个#号 竖着有4个#号的长方形。

方法一:

h = int(input("Height:"))
w = int(input("width:"))

i = 1 
while i <=h:
    j = 1
    while j <= w:
        print('#',end="")
        j += 1
    print()
i += 1

方法二:

h = int(input("Height:"))
w = int(input("width:"))
i = h
while i >0:
    j = w
    while j>0:
        print("#",end="")
        j -= 1
    print()
    i -= 1

实例四:如何输出一个如下的直接三角形,用户指定输出行数; (如果上下反转,又如何实现?)

*
**
***
****

l = int(input("line:"))

i =1
while i<=l:
    j=1
    while j<=i:
          print("*",end="")
          j += 1
    print()
    i += 1

反转:
****
***
**
*

i = l
while i > 0:
    j = i
    while j > 0:
        print("*", end=" ")
        j -= 1
    print()
    i -= 1

  

 

posted @ 2019-06-22 22:00  hzw2019  阅读(61)  评论(0)    收藏  举报