Python_Mooc_Stu_23_11_12
目录
一、输入与输出
(一)输入
1.标准输入:
函数:input([提示字符串])
作用:以字符串形式从键盘读入信息
>>>name = input('please input your name:')
please input your name:
(1)输入字符串
直接调用input()函数接受,接受到的就是字符串;
>>>name = input('please input your name:')
please input your name:jack
>>>print(f'the type of variable is {type(name)}')
the type of variable is <class 'str'>
(2)输入数值(整数、浮点数)
使用input()进行输入,输入完成后进行强制类型转换;
>>>age = int(input('please input the age:'))
25
>>>print(f'the type of age is {type(age)}')
the type of age is <class 'int'>
>>>size = float(input('please input the size:'))
34
>>>print(f'the type of size is {type(size)}')
the type of size is <class 'float'>
2.多变量输入
(1)eval()函数
注:eval()函数的作用是将字符串当做语句执行,因此在键盘输入的数据应当是不含有空格的、一个完整的字符串;
1 2 3 4 | >>>a , b , c = eval ( input ()) 1 , 2 , 3 >>> print (f 'a={a} b={b} c={c}' ) a = 1 b = 2 c = 3 |
(2)input().split()方法
input().split()
是一个Python中的函数,用于从标准输入中读取一行文本,并使用一个分隔符将其分割成多个元素,返回一个包含这些元素的列表。
在上面的代码中,我们使用 input().split(',')
从标准输入中读取一行文本,并使用逗号作为分隔符将其分割成三个元素。然后,我们将这些元素分别赋值给变量 name
、age
和 city
,并打印它们的值。
需要注意的是,split()
方法默认使用空格作为分隔符,因此如果想要使用其他分隔符,需要显式指定它。
>>> name, age, city = input().split(',')
Please enter your name, age, and city: John,25,New York
>>> print(name)
John
>>> print(age)
25
>>> print(city)
New York
(二)输出
1.标准输出
函数:print()
格式:print(out1,out2,out3...outN , [sep = ] , [end = ])
解释:sep为各个输出项之间的分隔符,默认为空格;end为输出的结尾,默认为换行
>>>print( 10 , 20 , sep = '+' , end = '=' )
10+20=
2.格式化输出
(1)f-string方式
描述:在调用print()函数进行输出时,使用“print(f'this is string , and variable is {variable}')”形式;即输出的全部为字符串,变量使用大括号嵌入字符串中;
注释:若需要进行浮点数位数控制,形式如下:{variable:5.2f}
>>>radius = float(input())
2
>>>print(f"{PI*radius*radius:.4f}")
12.5600
(2)格式说明符
在Python中,格式化输出时,用运算符%分隔格式字符串与输出项,一般格式为:
格式字符串%(输出项1,输出项2...输出项n)
其中,格式字符串由普通字符和格式说明符组成。普通字符原样输出,格式说明符决定所对应输出项的输出格式。
格式说明符以百分号%开头,后接格式标志符。
print("%+3d,%8.2f"%(25,123.567))
+25, 123.57
(3)format()内置函数
format()内置函数可以将一个输出项单独进行格式化,一般格式为:
format(输出项[格式字符串])
其中,格式字符串是可选项。当省略格式字符串时,该函数等价于函数“str(输出项)"的功能。format()内置函数把输出项按格式字符串中的格式说明符进行格式化。
其中 x 为十六进制,c 为字符,f 为浮点数。
>>> print(format(15,'x'),format(65,'c'),format(3.145,'f'))
F A 3.145000
(4)字符串的format()方法
在Python中,字符串都有一个format()方法,这个方法会把格式字符串当作一个模版,通过传入的参数对输出项进行格式化。字符串format()方法的调用格式为:
格式字符串.format(输出项1,输出项2....输出项n)
其中,格式字符串可以包括普通字符和格式说明符。普通字符原样输出,格式说明符决定所对应输出项的转换格式。
格式说明符使用大括号扩起来,一般形式如下
{[序号或键][:格式说明符]}
其中,可选的序号对应于要格式化的输出项的位置,从0开始。可选的键对应于要格式化的输出项的名字或字典的键值。格式说明符同format()内置函数,要用冒号(:)开头。
>>>"{0:.2f} , {1}".format(6.592,125)
6.59 , 125
二、条件运算
定义:相当于C语言中的“ ? : ”表达式;
格式:表达式1 if 表达式 else 表达式2
规则:先求if后面表达式的值,如果其值为True,则求表达式1,并以表达式1的值为条件运算的结果。如果if后面表达式的值为False,则求表达式2,并以表达式2的值为条件运算的结果。
>>>print ((3 if 4>5 else 7) if 9>8 else 2)
7
# 9>8 is true so express equals (3 if 4>5 else 7)
# 4>5 so (3 if 4>5 else 7) equals 7
# therefore ((3 if 4>5 else 7) if 9>8 else 2) = 7
三、循环结构
(一)while 循环
1. while循环的逻辑图
注释:先判断条件,当条件为true的时候执行循环体,当条件为false的时候结束循环;
2. while _ else 结构
注释:在Python中,可以在循环语句中使用else子句,else中的语句会在循环正常执行完的情况下执行(不管是否执行循环体)。
以下示例中的else语句获得了执行:
#code:
count=int( input("请输入一个数:"))
while count<5:
print( count, "is less than 5" )
count=count+1
else:
print( count,"is not less than 5")
#result:
请输入一个数:3
3 is less than 5
4 is less than 5
5 is not less than 5
#analysis:
循环体正常结束,else的语句获得了执行
以下示例中的else语句不执行:
#code:
count=int( input("请输入一个数:"))
while count<5:
print( count, "is less than 5" )
count=count+1
if count == 5 : break #************#
else:
print( count,"is not less than 5")
#result:
请输入一个数:3
3 is less than 5
4 is less than 5
#analysis:
循环体因为break语句意外跳出,else的语句不执行
(二)for循环(计数循环)
1.for循环简介
作用:一个通用迭代器,for循环可用于字符串、列表、元组以及其他内置可迭代对象;
一般格式: 其中else语句的触发条件与上述 while 后的 else 一致;
for 目标变量 in 序列对象 :
语句块
else :
语句块
执行流程:
注意事项:
①for语句是通过任意序列的元素的元素进行来建立循环的,针对序列的每一个元素执行一次循环体。列表、字符串、元组都是序列,可以利用它们来建立循环。
②for循环的循环次数是序列中元素的个数,即序列的长度。可以利用序列的长度来控制循环次数,这时关注的不是序列元素的值,而是元素的个数。
③目标变量的作用是存储每次循环所引用的序列元素的值,在循环体中也可以引用目标变量的值。这时,目标变量不仅能控制循环次数而且直接影响循环体中的运算量。
④可以在for循环体中修改目标变量的值,当程序执行流程再次回到循环开始时,就会自动被设成序列的下一个元素。退出循环之后,该变量的值就是序列中最后的元素。
⑤for循环也支持一个可选的else块,它的功能就像在while循环中一样,如果循环离开时没有碰到break语句,就会执行else块。也就是序列所有元素都被访问过了之后,执行else块。
2.range对象在for循环中的应用
作用:range()
函数是一个内置函数,用于生成一个整数序列,经常在for
循环中使用。
特点:range()
函数生成的序列是一个“惰性序列”,意思是这个序列并不会一次性生成所有数字,而是在每次循环时生成下一个数字。这使得它在处理大范围的数字时更加内存高效。
range([start,]stop[, step])
#start:可选参数,生成的序列的起始值,默认为0。
#stop:必选参数,生成的序列的结束值(不包含该值)。
#step:可选参数,生成的序列的步长,默认为1。
示例:
#输出[100,1000]以内的全部素数
import math
n=0
for m in range( 101,1000,2):
i,j=2,int(math.sqrt(m) )
while i<=j:
if not(m%i): #注意:当m%i==0时,在Python看来,m%i是False,因此一定要注意
break
else:
i=i+1
else:
print(m, end=" ")
n+=1 #n统计素数个数
if n%10==0 : print( "\n") #一行输出10个素数
(三)循环控制语句
break:跳出循环体;
continue:终止本次循环,进入下一次循环;
pass:空语句,用来占位,什么都不做;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】