注释
# 我注释了这一行
# 怎么注释多行?
#写代码时千万不要有中文字符
'''注释多行
12345
上山打老虎
老虎没打着
'''
"""
12345
上山打老虎
老虎没打着
"""
print("这里是打印的内容")
print 输出
# 打印到屏幕上一些信息
#可以接受多个字符串,用逗号分隔,遇到逗号会输出一个空格
print("这是一段话","这是另一段话")
print(20)
print(19 + 1)
print("19 + 1=", 20)
# 作用:从外部获取变量的值
# 等待输入(阻塞),输入的内容保存在age里
age = input("请输入您的年龄:")
print("age =", age)
Python数据类型
标识符
查看关键字
import keyword
print(keyword.kwlist)
变量和常量
变量和常量
# 程序执行的过程:自下而上顺序执行(面向过程)
age = 0
age = 18
#del age
print( "age = ",age)
#查看变量的类型
print(type(age))
#查看变量的地址
print(id(age))
num1 = int(input("请输入一个数字"))
num2 = int(input("请在输入一个数字"))
print("num1 + num2 =",num1 + num2)
数字类型(Number)
#导入库
#库:封装一些功能
#math:数学相关的库
#random随机数的一些方法
import math
import random
'''
分类:整数、浮点数、复数
'''
整数
'''
整数:Python可以处理任意大小的整数,当然包括负整数,在程序中的表示和数学的写法一样
'''
num1 = 10
num2 = num1
#连续定义多个变量
num3 = num4 = num5 =1
print(num3,num4,num5)
#交互式赋值定义变量
num6, num7 = 6, 7
print(num6,num7,)
浮点数
"""
浮点数:浮点型有整数部分与小数部分组成,浮点数运算可能会有四舍五入的误差
"""
f1 = 1.1
f2 = 2.2
print(f1 + f2)
复数
'''
复数;实数部分和虚数部分构成
'''
数字类型转换
'''
数字类型转换
'''
print(int(1.1))
print(float(1))
print(int("123"))
print(float("12.3"))
#如果有其他无用字符会报错
#print(int("abc"))
#print(int("123abc"))
#只有作为正负号才有意义
print(int("+123"))
#print(int("12+3"))
print(int("-123"))
#print(int("12-3"))
数学函数功能
#数学函数(功能)
#abs返回数字的绝对值
a1 = -10
a2 = abs(a1)
print(a2)
#比较两个数的大小
a3 = 10
a4 = 9
print((a3>a4)-(a3<a4))
#max 返回给定制的最大值
print(max(1,2,3,4,5,6))
#min 返回给定制的最小值
print(min(1,2,3,4,5,6))
#pow 求x的y次方 2^5
print(pow(2,5))
#round(x[,n])返回浮点数x的四舍五入得值,如果给出n值,则代表舍入到小数点后n位
print(round(3.456))
print(round(3.556))
print(round(3.456,2))
print(round(3.546,1))
#math.ceil 向上取整
print(math.ceil(18.1))
print(math.ceil(18.9))
#math.modf 返回整数部分与小数部分
print(math.modf(22.3))
#math.sqrt 开平方根
print(math.sqrt(16))
随机数
#随机数 random
#1从序列的元素中随机挑选个元素
print(random.choice([1,3,5,7,9]))
print(random.choice(range(5)))#range(5) == [0,1,2,3,4]
print(random.choice("fairy"))#" fairy" == ["f","a","i","r","y"]
#产生一个1~100之间的随机数
r1 = random.choice(range(100)) + 1
print(r1)
#从指定范围内,按指定的基数递增的集合中选取一个随机数
#random.randrange([start,] stop[, step])
#start---指定范围的开始值,包含在范围内,默认是0
#stop----指定范围的结束值,不包含在范围内
#step----指定的递增基数,默认是1
print(random.randrange(1,100,2))
#从0-99选取一个随机数
print(random.randrange(100))
#随机生成[0,1)之间的数(浮点数)
print(random.random())
随机排序
#给列表的数随机排序
list = [1,2,3,4,5,]
random.shuffle(list)
print(list)
'''list = ["小明","小红","小刚","小王","小丽","小陈"]
random.shuffle(list)
print(list)
'''
#随机生成一个实数,他在[3,9]范围
print(random.uniform(3,9))
#三角函数
案例
import random
num = int(input("请输入您的号码:"))
res = random.choice(range(100))
#判断是否中奖 num == res
if num == res:
print("恭喜您中了五百万")
运算符与表达式
表达式
'''
表达式:由变量、常量和运算符组成的式子
阅读表达式 :
功能:
值:
'''
算术运算符和算术运算表达式
'''
算术运算符
+ - * / % ** //
加 减 乘 除 取模 求幂 取整
算术运算表达式
1+1 2*3 a/3
功能:进行相关符号的数学运算,不会改变变量的值
值:相关的数学运算结果
'''
num1 = 5
num2 = 3
print(num1 + num2)
print(num1 - num2)
print(num1 * num2)
print(num1 / num2)
print(num1 % num2)
print(num1 ** num2)#5^3 pow(5,3)
print(num1 // num2)
赋值运算符和赋值运算表达式
'''
赋值运算符 =
赋值运算表达式
格式:变量 = 表达式
功能:计算了等号右侧“表达式”得值,并赋值给等号左侧的变量
值:
'''
num3 = 10
num4 = num3 +20
复合运算符
'''
复合运算符
+= 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 **= b a = a ** b
//= a //= b a = a // b
'''
if语句
'''
格式:
if 表达式:
语句
逻辑:当程序执行到if语句时,首先计算“表达式”的值,如果“表达式”的值是真,那么就执行if下的“语句”。
如果“表达式”的值为假,则跳过整个if语句继续向下执行。
何为真假?
假:0 0.0 '' None False
真:除了假就是真
'''
num5 = 20
num6 = 20
if num5 == num6:
num5 = 100
if 2:
print("真")
print("num5 =",num5)
if-else语句
'''
格式:
if 表达式:
语句1
else:
语句2
逻辑:当程序执行到if-else语句时,首先计算“表达式”的值,如果“表达式”的值为真,则执行“语句1”。执行完“语句1”
跳出整个if-else语句。如果“表达式”的值为假,则执行“语句2”跳出整个if-else语句
'''
位运算符
'''
位运算符: 按位运算符是把数字看做二进制数来进行计算
'''
# & 按位与运算符
# 相应的位数都为1,则改为的结果为1,否则为0
print(5 & 7)
'''
101
111
---
101
'''
# 按位或运算符
#两个二进制位有一个位为1时,结果为1,否则为0
print(5 | 7)
'''
101
111
---
111
'''
# ^ 按位异或运算符
#二进制两位相异时,结果为1
print(5 ^ 7)
'''
101
111
---
010
'''
# ~ 按位取反运算
#每个二进制数据位取反,1变0,0变1
print( ~ 5)
'''
00000101
'''
# << 左移动运算符
#二进制位全部左移动若干位,由<<右侧的数字决定,高位丢弃,低位补0
print(2 << 2)
'''
00000010
00001000
'''
# >> 右移动运算符
#二进制位全部右移动若干位,由>>右侧的数字决定,高位丢弃,低位补0
print(13 >> 2)
'''
00001101
00000011
'''
关系运算符和关系运算表达式
'''
== != > < >= <=
关系运算表达式:
1 + 2 > 3 + 4
格式: 表达式1 关系运算符 表达式2
功能: 计算“表达式1”和“表达式2”的值
值:如果关系成立,整个关系运算符表达式的值为真,否则为假
'''
逻辑运算符
逻辑与运算符
'''
逻辑(与)运算符 and
逻辑运算表达式: 表达式1 and 表达式2
值:如果表达式1的值为真,表达式2的值为真,整体运算符的表达式为真
如果表达式1的值为真,表达式2的值为假,整体运算符的表达式为假
如果表达式1的值为假,表达式2的值为真,整体运算符的表达式为假
如果表达式1的值为假,表达式2的值为假,整体运算符的表达式为假
【有一个为假就为假】
'''
num1 = 10
num2 = 20
#num1 = num1 = 1
if num1 +1 and num2 + 1:
print("**********")
print(num1,num2)
短路原则
#表达式1 and 表达式2 and 表达式3 and ··· and 表达式2
逻辑或运算符
'''
逻辑(或)运算符 or
逻辑或运算表达式: 表达式1 or 表达式2
值:表达式1的值为真,表达式2的值为真,逻辑或运算表达式为真
表达式1的值为真,表达式2的值为假,逻辑或运算表达式为真
表达式1的值为假,表达式2的值为真,逻辑或运算表达式为真
表达式1的值为假,表达式2的值为假,逻辑或运算表达式为假
【有一个为真就为真】
'''
num3 = 0
num4 = 1
if num3 or num4:
print("*******")
短路原则
#表达式1 or 表达式2 or 表达式3 or ··· or 表达式2
'''
逻辑非: not
逻辑非运算表达式: not 表达式
值:如果表达式的值为真,整体逻辑非运算表达式的值为假
值:如果表达式的值为假,整体逻辑非运算表达式的值为真
【颠倒黑白】
'''
if not 0:
print("^^^^^^^^^^^")
成员运算符:
in:如果在指定的序列中找到值返回True,否则返回False
not in:如果在指定的序列中没有找到值返回True,否则返回False
身份运算符
is:判断两个标识符是不是引用同一个的对象
is out:判断两个标识符是不是引用不同的对象
运算符优先级
**
~ + - 正负号(一元加减)
* / % //
+ -
>> <<
&
^ |
<= < > >=
== !=
= %= += -= //=
is not in
not or and
'''
案例
#从控制台输入一个整数,判断是否是偶数
'''num = int(input())
if num % 2 == 0:
print("是偶数")
else:
print("是奇数")
'''
#******************************
'''
从控制台输入一个三位数,如果是水仙花数就打印“是水仙花数”,否则打印“不是水仙花数”
153 = 1^3+5^3+3^3 1634 = 1^4+6^4+3^4+4^4
(自幂数)
水仙花数 4个 : 153 370 371 407
四叶玫瑰数 3个 : 1634 8208 9474
从控制台输入一个五位数,如果是回文数就打印“是回文数”,否则打印“不是回文数”
11111 12321 12221
#不准使用max min
从控制台输入两个数,输出较大的值
从控制台输入三个数,输出较大的数
'''
#1
'''
num = int(input("输入一个三位数:"))
a = num % 10
b = num // 10 % 10
c = num //100 % 10
if num == a**3 + b**3 + c**3:
print("yes")
else:
print("no")
'''
#2
'''
num = int(input("输入一个五位数:"))
a = num % 10
b = num //10000
c = num %100 //10
d= num //1000 %10
if c == d and a == b:
print("是回文数")
else:
print("不是回文数")
'''
'''
if a != b:
print("不是回文数")
elif c != d:
print("不是回文数")
else:
print("是回文数")
'''
#*3
'''
num1 = int(input("请输入一个数:"))
num2 = int(input("请在输入一个数:"))
max = num1
if num1 < num2:
max = num2
print("max =",max)
'''
#4
'''
num1 = int(input("请输入一个数:"))
num2 = int(input("请在输入一个数:"))
num3 = int(input("请在输入一个数:"))
max = num1
if num2 > max:
max = num2
if num3 > max:
max = num3
print("max =",max)
'''
num = int(input("输入一个三位数:"))
a = num % 10
b = num // 10 % 10
c = num //100 % 10
if num == a**3 + b**3 + c**3:
print("yes")
else:
print("no")