Print&input与变量和运算符
做项目时标题不用中文,容易出现错误
# 注释一行
# 注释多行?
首尾加三个`
12345
上山打老虎
老虎没打着
"""
三个双引号也行
"""
# 打印到屏幕上一些信息
# 可以接受多个字符串,用逗号分隔,遇到逗号分隔,遇到逗号会输出一个空格
print("sunck is a good man", "sunck is a nice man", "sunck is a handsome man")
print(18)
print(10 + 8)
print("10 + 8 =", 18)
# input
# 作用:从外部获取变量
# 等待变量(阻塞),输入的内容保存在age里
#
age = input("请输入您的年龄:")
print("age = ",age)
python数据类型
一.计算机顾名思义就是可以做数学运算的机器,因此,计算机程序理所当然可以处理各种数值,但是计算机能处理的远远不止数值,还可以处理文本,图形,音频,视频,网页等各种数据,不同的数据,需要定义不同的数据类型
二.Number(数字)
- 1.正数
- 2.浮点数(小数)
- 3.复数
三.string(字符串)
四.boolean(布尔值)
五.None(空值)
六.list(列表)
七.tuple(元组)
八.dict(字典)
九.set(集合)
标识符
一.什么是标识符?
-是一串字符串(注意:字符串未必是标识符)
二.规则
-1.只能有字母,数字,下划线组成
-2.开头不能是数字
-3.不能是python的关键字(关键字有哪些⬇)
import keyword
print(keyword.kwlist)
输出结果;
[‘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.区分大小写
-5.见名知意
-6.遵循驼峰原则
–首单词的正常的,从第二个单词开始首字母大写–sunckGoodMan
三. 作用
-给变量,函数等命名的
四.注意
-在python3中,非ASCII标识符也是允许的
变量和常量
一.变量
概述:
1.程序可操作的存储空间的名称
2.程序运行期间能改变的数据
3.每个变量都有特定的类型
作用:
将不同类型的数据存储到内存
定义变量:
1.变量名 = 初始值(初始值–为了确定变量的类型)
2.age = 10
数据的存储
变量名 = 数据值
注意:变量在使用之前必须定义,否则会报错
# 变量和常量.py
age = 0
age = 18
print("age =", age)
num1 = int(input("请输入一个数字"))
num2 = int(input("请再输入一个数字"))
print("num1 + num2 = ", num1 + num2)
删除变量
del 变量名
删除后变量无法引用
# 变量和常量.py
# 程序执行的过程:自上而下顺序执行(面向过程)
age = 0
age = 18.8 # class = floot
age = "good" # class = str
del age # 删除变量名
print("age =", age)
# 查看变量的类型
print(type(age))
# 查看变量的地址
print(id(age))
num1 = int(input("请输入一个数字"))
num2 = int(input("请再输入一个数字"))
print("num1 + num2 = ", num1 + num2)
二.常量
程序运行期间不能改变的数据
# 数字类型(Number).py
# 分类:整数,浮点数,复数
"""
整数:python可以处理任意大小的整数,当然包括负整数,在程序中的表示和数学的写法一样
"""
num1 = 10
print(id(num1)
num2 = 20
print(id(num2))
num2 = num1
print(id(num1)) # 现在变量的值是一样的id(地址)就是一样的
# 连续定义多个变量
num3 = num4 = num5 = 1
print(num5 ,num4, num3)
# 交互式赋值定义变量
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")) # 正常输出123
print(int("-123")) # 正常输出123
print(int("12+3") # 报错
print(int("12-3") # 报错
# 数学功能
# 返回数字的绝对值
a1 = -10
a2 = abs(a1)
print(abs(a2))
# 比较两个数的大小
a3 = 6
a4 = 9
print((a3>a4)-(a3-a4))
# 返回给定参数的最大值
print(max(1, 2, 3, 4, 5, 6, 7))
# 返回给定参数的最小值
print(min(1, 2, 3, 4, 5, 6, 7))
# 求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: 数学相关的库
import math
# 向上取整
print(math.ceil(18.1))
print(math.ceil(18.9))
# 向下取整
print(math.floor(18.1))
print(math.floor(18.9))
# 返回整数部分与小数部分
print(math.modf(22.3))
# 开方
print(math.sqrt(16))
# 随机数
import random
# 1 从序列的元素中随机挑选一个元素
print(random.choice([1, 3, 5, 7, 9]))
print(random.choice(range(5))) # range(5) == [0,1,2,3,4,5]
print(random.choice("sunck")) # "sunck" == ["s""u""n""c""k"]
# 产生一个一到100之间的随机数
r1 = random.choice(range(100)) + 1
print(r1)
# 从指定范围内,按指定的基数递增的集合中选取一个随机数
# rangdom.randrange([start,] stop[, step])
# start--指定范围的开始值,包含在范围内
# 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)
# 随机生产一个实数,他在[3,9]范围
print(random.uniform(3,9))
# 彩票系统.py
import random
num = int(input("请输入您的号码;"))
res = random.choice(range(100)) +1
# 判断是否中奖 numb == res
if num == res:
print("恭喜您中了500万")
运算符与表达式
表达式:
由变量、常量和运算符组成的式子
阅读表达式:
功能:
值;
算术运算符和算术运算表达式
算术运算符
+ | - | * | / | % | ** | // |
---|---|---|---|---|---|---|
加 | 减 | 乘 | 除 | 取模 | 求幂 | 取整(取整除,向下取整) |
算术运算表达式
a = 10
1+1 2*3 a/3
功能:
进行相关符号的数学运算,不会改变变量的值
值:
相关的数学运算结果
# 运算符与表达式.py
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 = 10
num6 = 20
if num5 == num6:
num5 = 100
print("num5 =", num5)
if-else语句
格式:
if 表达式
语句1
else:
语句2
逻辑:
当程序执行到if-else语句时,首先计算"表达式“的值,如果”表达式“的值为真,则执行”语句1“,执行完跳出if-else语句
如果“表达式”的值为假,则执行”语句2“,执行完”语句2“跳出整个if-else语句。
# if练习.py
# 从控制台输入一个整数,判断是否是偶数
num = int(input("请"))
if num % 2 == 0:
print("是偶数")
else:
print("是奇数")
判断三位数是否为水仙花数
从控制台输入一个三位数,如果是水仙花数就打印”是水仙花数“,否则打印“不是水仙花数”
153=13+53+3^3
import math
num = int(input("请输入一个三位数:"))
num1 = num / 100
num2 = math.floor(num1)
print(num2)
num3 = num - num2 * 100
num4 = num3 / 10
num4 = math.floor(num4)
print(num4)
num5 = num - (num4 * 10) - (num2 * 100)
print(num5)
if num == num2 ** 3 + num4 ** 3 + num5 ** 3:
print("是水仙花数")
else:
print("不是水仙花数")
# 老师公布的答案
num = int(input("请输入一个三位数"))
a = num % 10
b = num // 10 % 10
c = num // 100
if num == a**3 + b**3 + c**3:
print("yes")
else:
print("no")
判断五位数是否为回文数
从控制台输入一个五位数,如果是回文数就打印”是回文数“,否则打印“不是回文数”
11111 12321
import math
num = int(input("请输入一个五位数:"))
num1 = num / 10000
num2 = math.floor(num1)
print(num2)
num3 = num - num2 * 10000
num4 = num3 / 1000
num4 = math.floor(num4)
print(num4)
num5 = num - num2 * 10000 - num4 * 1000
num5 = num5 / 100
num5 = math.floor(num5)
print(num5)
num6 = num - num2 * 10000 - num4 * 1000 - num5 * 100
num6 = num6 / 10
num6 = math.floor(num6)
print(num6)
num7 = num - num2 * 10000 - num4 * 1000 - num5 * 100 - num6 * 10
print(num7)
if num2 == num7:
if num4 == num6:
print("是回文数")
else:
print("不是回文数")
else:
print("不是回文数")
# 老师公布的答案
num = int(input("请输入一个五位数"))
a = num % 10
b = num // 10000
if a != b:
print("no")
if,,,,,
从控制台输入两个数,输出较大的值
不能用max
import math
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
if num1 > num2:
print(num1)
else:
print(num2)
从控制台输入三个数,输出较大的值
import math
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
num3 = int(input("请输入第三个数:"))
if num1 > num2:
if num1 >num3:
print(num1)
else:
print(num3)
else:
if num2 >num3:
print(num2)
else:
print(num3)
num1 = int(input())
num2 = int(input())
num3 = int(input())
max = num1
if num2 > max:
max = num2
if num3 > max:
max = num3
print("max = ", max)
体现一种代码优化的思想,第一步能判断出结果就不用继续判断