小笨蛋学习Python第一集

(1)Python基础知识篇

本节知识点:
注释
变量
关键字
数据类型的转换
输入输出
格式化符号
if条件判断语句
运算符
循环与遍历
break和continue
作业:
1、从键盘输入一个整数,判断该数字能否被2和3同时整除,能否被2整除,能否被3整除,不能被2和3整除。输出相应信息
2、实现用户输入用户名和密码,当用户名为 seven且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次。
3、使用for循环和 range实现输出1-2+3-4+5-6….99的和。
4、使用 for 循环和 while循环打印99乘法表
5、有1、2、3、4个数字,能组成多少个互不相同且不重复的三位数字?都是多少?

正文:

1、注释
注释:对代码的解释,提高代码的可读性。可以用#开头表示单行注释,可以用’’’ ‘’'表示多行注释。

name="zhangsan"
#名字叫张三
print(name)

2、变量
变量:是指存储程序数据的容器。
变量定义的格式:变量名=数据。
Python里不需要指定数据类型,会根据数据自动推导出数据类型。

score=100 
print(score)

pi=3.14  
print(pi)

name="zhangsan"
print(name)

is_ok=True
print(is_ok)

输出:
	100
	3.14
	zhangsan
	True

变量名的命名规则:1、由字母、数字、下划线三种组成。2、命名方式:下划线命名(my_list)、大驼峰(MyName)、小驼峰(myName)。推荐使用下划线。

怎样查看变量的类型:type

#使用type查看数据的类型
name="zhangsan"
print(type(name))

score=100 
print(type(score))

pi=3.14  
print(type(pi))

my_tuple=(1,2,3)
print(type(my_tuple))

my_dict=[1,2,3,4]
print(type(my_dict))

my_set={1,2,3,4,5}
print(type(my_set))

输出:
	<class 'str'>
	<class 'int'>
	<class 'float'>
	<class 'tuple'>
	<class 'list'>
	<class 'set'>

总结:常用数据类型有:int,str,float,list,tuple,set,dict,complex

3、关键字
是指在Python中具有特殊功能的标识符,关键字不能用作变量名使用。

#查看Python关键字
import keyword 
print(keyword.kwlist)

输出:Python里的关键字
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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']

4、常用数据类型转换

#常用的数据类型转换
int(5.78)      将对象转换为整数
float(7)       将对象转换为小数
complex(3)     将对象转换为复数
str(0)         将对象转换为字符串“” 
tuple([1,2,3]) 将对象转换为元组
list(name)     将对象转换为列表
oct(8)         将对象转换为8进制
bin(98)        将对象转换为二进制
hex(77)        将对象转换为16进制
eval("name")   用来计算在字符串中的有效Python表达式,并返回一个对象

5、输入与输出

#输出
print("Hello world")
print(100+200)

#输入
name=input()
print(name)

6、格式化符号
常用格式化符号有:%s,%d,%f,%x,%e,%o

#格式化输出
age=10
print("他的年龄是:%d"% age)

a=18 
print("num is %d"% a)

country="中国"
print("我来自%s"%country)

输出:
	他的年龄是:10
	num is 18
	我来自中国

7、if语句
if语句可以做条件判断。如果if语句判断为TRUE,则执行if下面的语句,如果为False,则执行else下面的,elif用作更细致的判断,是else if 的缩写,可以有多个elif。
if语句有个特点:其执行是从上往下的,如果某个判断为真,则执行下面跟随的语句,而不再执行下面的elif 和else。

#if语句做条件判断
age=18
if age>=20:
    print("your age is",age)
    print("You are an adult")
elif age >=6:
    print("your age is",age)
    print("You are a teenager")
else:
    print("your age is",age)
    print("You are a kid")
输出:
	your age is 18
	You are a teenager

8、运算符
Python直接以下几种运算符:

算术运算符:

运算符描述
+(加)两对象相加
-(减)两对象相减
*(乘)两对象相乘
/(除)两对象相除
//取整除
%取余
**指数

比较运算符:
返回值为布尔类型,真为True,假为Flase。常用于判断语句

运算符描述
==比较两对象是否相等
!=比较两对象是否不相等
>大于
<小于
<=小于等于
>=大于等于

例如:

a=3
b=5  
print(a!=b)
print(a>b)
输出:
	True
	False

赋值运算符:

运算符描述
=简单的赋值符号:a=b+c
+=加法赋值运算符 :a+=b等于a=a+b
*=乘法赋值运算法ab等于a=ab
-=减法赋值运算符a-=b等于a=a-b
/=除法赋值运算符a/=b等于a=a/b
//=取整赋值运算符号a//=b等于a=a//b
%=取余赋值运算符a%b等于a=a%b
**=幂值运算符a**=b等于a=a**b

例如:

a=6
a+=7 
print(a)
输出:
	13

逻辑运算符:
and 、or、not ,也经常用于判断语句中,用于表示并列关系。Python中0、空字符串表示False

运算符描述
andand操作符两边都为真时,结果为真
oror操作符只要有一边为真时,结果就为真
not得到一个和操作符相反的布尔类型的值

位运算符:
把数字看做二进制来计算(不太明白)

成员运算符:

in对象在序列中
not in对象不再序列中

例如:

a=[1,3,5,6] 
print(1 in a)
print(9 not in a)

if 1 in a: 
    print("YES")
else:
    print("no")
输出:
True
True
YES

身份运算符:

is判断两对象是否属于同一地址
is not判断两对象是否不是属于同一地址

l例如:

#身份运算符 is、 is not
a=[1,2,3,4] 
b=[1,2,3,4]
print(id(a))
print(id(b))

print(a is b )
print(a==b)

输出:
	2338913983688
	2338922528712
	False
	True

注意:is是判断对象是否属于同一个地址,==则判断两个对象的值是否相同。

运算符优先级:当多种运算符同时使用时,要注意优先级。

9、循环与遍历
(1)while循环
语法:

#while条件:
	#条件满足时,执行1
	#条件满足时,执行2
	#条件满足时,执行3
例如:
#循环——while
i=1 
while i<=4:
    print("hello world")
    i=i+1  
输出:
	hello world
	hello world
	hello world
	hello world    

(2)for循环
for循环可以遍历任何的序列项目.
例如:

#for循环
names=["mike","Bob","mary"]
for name in names:
    print(name)
输出:
	mike
	Bob
	mary

所以for x in …循环就是把每个元素代入变量x,然后执行缩进的代码块。
再举一个例子:想要计算1-10的整数之和,可以用sum作一个累加:

要注意range函数取左不取右,索引从0开始,因此计算1-10之和,需要取到11.
sum=0 
for i in range(11): 
    sum=sum+i 
print(sum)
输出:
	55

range函数配合for in 循环使用

#range函数和while循环等同
for i in range(5):
    print(i) 

print("------")    

i=0 
while i<5:
    print(i)
    i=i+1
输出:
	0
	1
	2
	3
	4
------
	0
	1
	2
	3
	4

10、break 和continue关键字
(1)break可以提前退出循环。当if语句满足时,执行break语句。
例如:

#break终止循环
n=0 
while n<=100:
    if n>=5:
        break
    print(n)
    n=n+1
print("END")

输出:
	0
	1
	2
	3
	4
	END

(2)continue
continue可以跳过当前循环,直接开始下一次循环。
例如:

#continue终止当前循环,开启下一次循环:
n=0
while n<=10:
    n=n+1
    if n%2!=0:#如果是奇数,执行continue语句;因此每次都跳过奇数,结果都取偶数
        continue
    print(n)
 
 输出:
    2
	4
	6
	8
	10

本节作业练习题:

第一题

# 1、从键盘输入一个整数,判断该数字能否被2和3同时整除,能否被2整除,能否被3整除,不能被2和3整除。输出相应信息
n = int(input("请输入一个整型数字:"))
#分四种条件判断,输出不同结果
if n % 2 == 0 and n % 3 == 0:
    print( "你真聪明" )
elif n % 2 == 0 and n % 3 != 0:
    print("猜错了")
elif n % 2 != 0 and n % 3 == 0:
    print("又猜错了")
elif n % 2 != 0 and n % 3 != 0:
    print( "你是猪吗")  
 
 输出:
	请输入一个整型数字:6
	你真聪明

第二题

# 2、实现用户输入用户名和密码,当用户名为 seven且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次。
name="seven"
ps="123"
n=1 
while n <=3:
    user=input("请输入用户名")
    password = input('请输入密码')
    n=n+1
    if user==name and password==ps:
        print("成功登录")
        break 
    elif n>3:
        print("超过三次,系统锁定")
    else:
        print("登录失败")
 
 输出:
    请输入用户名sevenn
	请输入密码123
	登录失败
	请输入用户名seven
	请输入密码234
	登录失败
	请输入用户名seven
	请输入密码345
	超过三次,系统锁定

第三题

# 3、使用for循环和 range实现输出1-2+3-4+5-6….99的和。
sum=0 
for i in range(1,100):
    if i%2==0:
        i=-i 
    sum=sum+i
print(sum)

输出:
	50

第四题

4、使用 for 循环和 while循环打印99乘法表
# 使用 for 循环
for i in range(1,10):
    for j in range(1,i+1):
        print("{}*{}={}".format(j,i,i*j),end=" ")
    print("")
    
#使用while循环打印:
i=1
while i<=9:
    j=1 
    while j<=i:
        print("%d*%d=%d"%(j,i,i*j),end=" ")
        j=j+1
    print()
    i=i+1
输出:
1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 

第五题:

# 5、有1、2、3、4个数字,能组成多少个互不相同且不重复的三位数字?都是多少?
i=0 
for x in range(1,5):
    for y in range (1,5):
        for z in range(1,5):
            if x !=y and x!=z and y!=z:
                print("{}{}{}".format(x,y,z),end=" , ")
                i+=1
    print("")
print("能组成{}个互不相同且不重复的三位数字".format(i))
输出:
123 , 124 , 132 , 134 , 142 , 143 , 
213 , 214 , 231 , 234 , 241 , 243 , 
312 , 314 , 321 , 324 , 341 , 342 , 
412 , 413 , 421 , 423 , 431 , 432 , 
能组成24个互不相同且不重复的三位数字

这个看的更明白一点:
total=0
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if((i!=j)and (j!=k)and(i!=k)):
                print(i,j,k)
                total+=1
print(total)

# 还有一个简便的方法:使用itertools
import itertools
total=0 
a=[1,2,3,4]
for i in itertools.permutations(a,3):
    print(i)
    total+=1
print(total)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值