首页 > 编程语言 >python基础——02

python基础——02

时间:2024-11-04 23:20:40浏览次数:5  
标签:02 语句 format python 基础 case 输入 print 表达式

一、输入与输出

1、print 输出

第一种:直接输出

print("hello world")
name = "python"
age = 3
print("项目:",name,"学龄:",age)

第二种: 格式化输出  【旧版本代码中常见,现在不推荐使用】

%c单字符
%s字符串
%d %i十进制整数
%x %X十六进制整数
%o八进制整数
%f小数
%e %E科学计数法

可以控制精度 

name = "python"
age = 3
print("项目:%s,学龄:%d" %(name,age)) #项目:python,学龄:3

a = 1234
print("%d" %a) #1234
print("%+d" %a) #+1234
print("%10d" %a) #      1234 右对齐前面补了六个空格
print("%010d" %a)#0000001234 右对齐用0补齐
print("%10.2f" %a)#   1234.00 右对齐精度为2(小数点后保留两位

a = 25
print("%d" % a) #25 十进制
print("%o" % a) #31 八进制
print("%#o" % a) #0o31 带前缀的八进制
print("%x" % a) #19 十六进制
print("%#x" % a) #0x19 带前缀的十六进制

 第三种:format()格式化函数

使用{}进行占位,在输出语句“”的后面用 . 来引用format函数

语法格式:print("{}".format())

print("{} and {}".format("hello","world")) #hello and world
print("{a} and {b}".format(b="world",a="hello")) #hello and world 可以不用关format输入顺序

#控制宽度
s = "hello"
print("{:1}".format(s))
print("{:25}".format(s))    #hello 默认左对齐 
print("{:>25}".format(s))   #hello 右对齐 
print("{:^25}".format(s))   #                    hello 居中对齐
print("{:*^25}".format(s))   #**********hello********** 居中对齐

# 控制精度
num = 1234.567891789
print("{}".format(num)) #1234.567891789
print("{:.2f}".format(num)) #1234.57
print("{:.2}".format(num)) #1.2e+03

# 进制转换
a = 25
print("{:d}".format(a)) #25
print("{:#o}".format(a)) #0o31
print("{:#x}".format(a)) #0x19
print("{:#b}".format(a)) #0b11001

#千位分隔符
n = 1234567890
print("{:,}".format(n)) #1,234,567,890

第四种:f-string 可以解析任意的数据类型 【python3.6之后引入的输出方法】

在输出语句""的前面加个f或者F表示解析,""里面使用{}将变量括起来

语法格式:print(f"姓名 {name}, 年龄 {age}")

a = "hello"
b = "world"
print(f'{a} and {b}') #hello and world

num = 1234.5678
print(f'{num}') #1234.5678
print(f'{num:25}') #                1234.5678
print(f'{num:^25}') #        1234.5678  
print(f'{num:^25.2f}')#         1234.57

1.2 、print输出的换行形式

print自动换行的,若不想自动换行,可以这样设置:

第一种:使用转译字符

\n  回车换行    \t   制表符位

print("第1行\n""第2行\n""第3行\n")
"""
第1行
第2行
第3行
"""

第二种:使用参数end

功能:指定换行的行为,可以为空格,空字符、\t、\n、逗号等

print("第1种",end = " ")
print("第2种",end = " ")
print("第3种")
#第1种 第2种 第3种

print("第1种",end = ",")
print("第2种",end = ",")
print("第3种")
#第1种,第2种,第3种

print("第1种",end = "\t")
print("第2种",end = "\t")
print("第3种")
#第1种	第2种	第3种

eg:打印一个九九乘法表

#九九乘法表
for i in range(1,10): #对应行
    for j in range(1,i+1): #对应列
        print(f'{j}X{i}={i*j}',end=" ")
    print() #提供一个换行
"""
1X1=1 
1X2=2 2X2=4 
1X3=3 2X3=6 3X3=9 
1X4=4 2X4=8 3X4=12 4X4=16 
1X5=5 2X5=10 3X5=15 4X5=20 5X5=25 
1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36 
1X7=7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49 
1X8=8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64 
1X9=9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81 
"""

2、input输入

在python中可以直接调用内置函数input进行输入,但是input的输入会将内容都默认为字符串。

语法格式:变量 = input("输入的提示文字[可有可无]")

#输入你的名字
name = input("输入你的名字》》")
print(name)
"""
输入你的名字》》python
python
"""

#输入年龄
age = int(input("输入年龄》》")) #因为input默认的输入是str类型的所以输入整数时要强转一下
print(age)
"""
输入年龄》》18
18
"""

利用分割同时输入多个数

语法a,b…… = map(需要的数据类型,input().split())

#同时输入两个数并计算和
a,b = map(int,input(">>").split())
print(a+b)
"""
>>1 2
3
"""

3、数据类型转换

将一种数据类型转换成另外一种数据类型。例如:将input输入的字符串12,转换成整数12。分为两种形式:隐式/自动类型转换、强制类型转换

3.1 隐式类型转换

a = 4
b = 2
c = a/b
print(type(a)) #<class 'int'>
print(type(b)) #<class 'int'>
print(type(c)) #<class 'float'>

3.2 显式/强制类型转换

函数

说明

int(x [,base])

将x转换为一个整数【base是要指定的进制可选】

float(x)

将x转换为一个浮点数

complex(real [,imag])

创建一个复数,real为实部,imag为虚部

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

chr(x)

将一个整数转换为一个Unicode字符

ord(x)

将一个字符转换为它的ASCII整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

bin(x)

将一个整数转换为一个二进制字符串

二、选择结构

1、条件语句 if

条件语句,也叫作选择语句、判断语句。根绝特定条件判断是否成立,执行不同的语句段。简单来说,满足条件执行,不满足不执行。

条件语句是使用关键字 if 做判断,根据不同情况结合不同的关键字else 或者 elif来进行判断,总来的来说,有三种形式。

语法格式:if else elif后面以冒号结尾,执行语句要缩进

第一种:单分支
if 表达式:
    代码块[执行语句]
表达式就是特定的条件,if进行判断,结果是布尔值【True和False】
执行逻辑:表达式为True,执行代码块;表达式为False,不执行

第二种:双分支
if 表达式:
    执行语句1
else:
    执行语句2
执行逻辑:表达式True,执行语句1;为False,执行语句2   

第三种:多分支   
if 表达式1:
    执行语句1
elif 表达式2:
    执行语句2
elif 表达式3:
    执行语句3
else:
    执行语句n
执行逻辑:先判断表达式1,为True执行语句1,为False判断表达式2,表达式2
为True执行表达式,为False继续判断表达式3……

第四种:分支嵌套
if 表达式1:
    if 表达式1-1:
        执行语句1-1
    else:
        执行语句1-2
elif 表达式2:
    if 表达式2-1:
        执行语句2-1
    else:
        执行语句2-2
else:
    执行语句3
                       

注意事项:

①参与判断的表达式可以是任意合法表达式,但是结果只有True和False

②else不能单独出现,必须和前面的未被匹配的 if 进行配对

2、条件语句 match...case

在Python3.10版本以后,Python解释器推出了match…case语句,提供了一种更强大的模式匹配方法。

类似于C语言中的switch...case...default语句。

match 表达式:
    case 模式1:
        执行语句1
    case 模式2:
        执行语句2
    ……
    case _:
        其他情况的归属

eg:练习1.从键盘输入一个月份,判断它所处的季节

month = int(input("请输入年份>>"))
match month:
    case 12|1|2: #12|1|2表示在12,1,2三个数任意满足一个即可
        print("冬季")
    case 3|4|5:
        print("春季")
    case 6|7|8:
        print("夏季")
    case 9|10|11:
        print("秋季")
    case _:
        print("input error...")

eg:练习2. 从键盘上输入一个人的年龄, 判断他属于人生哪个阶段,如果年龄在1(包含)~12之间,输出‘童年’, 如果年龄在12(包含)~18之间,输出‘少年’, 如果大于等于18岁,则输出成年, 如果输入非数字或者小于1,提示输出错误

age = int(input("请输入一个年龄"))
match age:
    case x if 1<=x<12: #x表示输入的age 满足age在1到12之间则被执行
        print("童年")
    case x if 12<=x<18:
        print("少年")
    case x if x>=18:
        print("成年")
    case _:
        print("输入有误,重新输入")

标签:02,语句,format,python,基础,case,输入,print,表达式
From: https://blog.csdn.net/2303_76544787/article/details/143494983

相关文章

  • 在这里游玩和创造,见证实时互动和 AI 的融合爆发丨年末场 RTE Open Day@RTE2024 回顾
       RTE2024第十届实时互联网大会上周末在北京圆满结束了,不知道大家体验交流得如何?可能是因为本来入秋的北京悄然升温,又或者是那两天的观众都很热情,25-26号的活动现场特别像是一场夏天的聚会。 RTEOpenDay马不停蹄来到了第五期,今年已经有三四十个“实时互动+”的项......
  • 知识点:Python中的列表合并操作
    知识点:该题目考查的知识点是Python中的列表合并操作。以下是该知识点的相关内容和题目的详细解答过程:知识点:Python中的列表合并操作在Python中,合并两个或多个列表是一项常见的操作,可以通过以下几种方法实现:使用+运算符:使用+运算符可以将两个列表直接拼接在一起,形成一个......
  • 2024.11.05 刷题训练
    2024.11.05刷题训练P7054NWRRC2015Graph构造题,把拓扑序中的队列换成小根堆是最小字典序,此时设置一个大根堆,用于处理连边问题。设\(lst\)是上一个拓扑序中的节点。小根堆堆顶大于大根堆,当前位置最优解,不耗费连边数量。小根堆堆顶小于大根堆,若\(k\)不为\(0\)加入到大......
  • 实验3 类和对象_基础编程2
     实验任务1实验代码:1#pragmaonce23#include<iostream>4#include<string>56usingstd::string;7usingstd::cout;89//按钮类10classButton{11public:12Button(conststring&text);13stringget_label()const;14......
  • 实验3 类和对象_基础编程2
    任务1:button.hpp#pragmaonce#include<iostream>#include<string>usingstd::string;usingstd::cout;//按钮类classButton{public:Button(conststring&text);stringget_label()const;voidclick();private:string......
  • CSP-S2024游记
    连惨两场,这就是我学了一年的OI?我要在NOIP逆风翻盘!心态炸没了,那就重新建立!我有,一份独一无二的爱Day-inf参加了长春净月潭的“非常好”模拟赛,每天都有不想写的美感,但是听诸位大佬说比“数据删除”中学的还是要好,不知道,但是每天就是摆烂了,RP疯狂减减,本来就菜,还摆,死了!Day-1参......
  • #Java-集合基础-ArrayList
    1.为什么使用集合集合是用来存储多个元素的,但是数组也同样可以实现多元素的存储为什么要用集合?数组的长度固定,当数组满之后无法再添加元素集合的长度跟随元素的数量自动变化,长度等于元素个数数组和集合还有存储数据类型方面的区别:数组可以存储基本数据类型和引用数据类......
  • CSP 2024 游记
    终于是拖到出分这一天动工游记。省流:J=SDay[-n,-1]停课训练,一直在做洛谷ATCF上的题,补了好几场div.2和abc,还在dmy上打了好多有意思的模拟赛,补了很多有价值的\(DP\)题目。考前和同学猜算法。赌了5块考树形DP,同学死活不信(伏笔\(\times1\)Day-7考前刚好一周的......
  • 2024年11月4日
    今天学习了Maven和JavaBean。以下是一个小的学习总结Maven:Maven是一个项目管理和构建工具,主要用于Java项目的管理。它通过使用项目对象模型(POM)来简化构建过程,能够自动处理依赖关系、构建流程和发布版本。在学习Maven的过程中,我了解到以下几个关键点:项目结构:Maven强调标准......