python课程设计笔记(二)破冰基本语法
python两种编程方式:交互式与文件式
交互式:语法练习,输一条运行一条
文件式:通用,执行一组语句
注释
#单行注释 ...XXXXX...多行注释
逻辑
没有大括号,按缩进确定逻辑——缩进格数一致
命名
命名可以带中文,首字符不为数字,变量名不为保留字(33个)
字符串
字符串的序号(两种序号在一个字符串中同时存在):正向递增 反向递减(最后一个-1,向左为-2,-3,、、)
字符串的索引和切片
索引 "你好啊"【0】 或str【0】
切片(slice) (copyright: https://www.cnblogs.com/cedrelaliu/p/6004352.html)
切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。起始偏移量start、终止偏移量end 、可选的步长step 定义一个分片。
格式: [start:end:step]
- [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
- [start:] 从start 提取到结尾
- [:end] 从开头提取到end - 1
- [start:end] 从start 提取到end - 1
- [start:end:step] 从start 提取到end - 1,每step 个字符提取一个
特殊:倒转字符串将字符串倒转(reverse), 通过设置步长为负数:[ : :-1]
字符串运算的操作符:
x+y:链接两个字符串
n*x或x*n:复制n次字符串x
x in s:x是否为s的子串,返回true or false
列表
不是数组,是列表类型
【 , ,】
用 in 判断元素是否在列表中
‘a’ in 【‘a’,‘b’】
ifelse语句
if elif else 分支语句,每个保留字后面有一个冒号,没有大括号只根据缩进
if temstr[-1] in ['F','f']: #条件为True则执行冒号后语句
for循环 语句(完全不同于 java中的for循环)
for循环可以遍历任何序列是项目,一个列表或一个字符串
语法:
for iterating_var in sequence:
statements(s)
iterating_var相当于迭代器去遍历sequence,里面存放从sequence每迭代一次得到的数据
因此java中的for(1-5)循环可以写成:for i in range(1,5):
遍历字符串:for ch in str:
遍历数组: for index in range(len(strs)):
range() 产生循环计数序列
range(N) :产生 0 到 N-1的整数序列,共N个
range(M,N): 产生 M 到 N-1的整数序列,共N-M个
while循环语句
while 条件语句 :
<执行的操作>
def定义函数
def 函数名(函数参数):
<函数语句>
输入输出:
输入 : <变量> = input(<提示信息>)#一个input读取一行
x,y=input(“输入的连个数据请用 , 隔开”)
输出: print(<字符串>,<>,<>..)# ,会产生空格
输出的格式化:print(<{ :.2f 大括号是一个槽,将后面fomat中的变量填充进来}>.format(C))
具体方法:https://blog.csdn.net/see_you_see_me/article/details/53837640
eval()评估函数:去掉参数最外侧引号并执行余下语句 =====将字符串转变为语句(数字等)
实例1:垂直输出Hello world
str = "Hello World" for i in str[:]: print(i)
实例2:输入N,输出N的高阶
方法1:
a = eval(input()) print(a**0,a**1,a**2,a**3,a**4,a**5)
方法2:
value = eval(input()) list=[] for i in range(6): num = value ** i list.append(str(num)) #print(tuple(list)) print(" ".join(tuple(list)))
实例3:华氏度与摄氏度转换(一)
str = input() value = eval(str[1:]) if str[0] in ['F']: result = (value-32)/1.8 print('C%.2f' %(result)) elif str[0] in ['C']: result = value*1.8+32 print('F%.2f' %(result))