Python Road(1)
程序员文章站
2022-03-26 13:25:28
2020.07.20...
首先我们来看一段温度转换代码:
#TempConvert.py
tempstr = input("请输入带有符号的温度值")
if tempstr[-1] in ['c','C']: #判断某个字符是否在列表中需要用 in 而不是 ==
F = 1.8*eval(tempstr[0:-1])+32#不包括最后一个字符(字符串切片的左闭右开原则)
print("转换后的温度为{:.2f}F".format(F))
elif tempstr[-1] in ['f','F']:#字符用“”或‘’都可以
C =(eval(tempstr[0:-1])-32)/1.8
print("转换后的温度为{:.2f}C".format(C))
else:
print("输入格式有误")
我认为它的知识点有以下几部分:
- eval函数
- for in 循环
- 字符串简易操作
eval函数
eval函数作用:去掉最外侧括号执行余下语句
#牢记是去掉括号
>>>eval("123")#①
>>>eval("1+2")#②
①的输出为123(这实现了将字符串转换成数字)
②的输出为3(实现了将字符串转算式)
思考:如何直接获取数字?
n = eval(input())
for in 循环
例如 for c in s:(别忘了:)
可以把c当做空房子,随着循环一次次执行,s中的字符一个个进入c中(赋值给c)
s = "123"
for c in s:
print(c)
#输出为
#“1”
#“2”
#“3”
注意:每打印一次便换行一次,如果想不换行,可以使用end=“”的方法
(不知道为什么python中的多行注释/**/在这里没有效果,所以采用了很多单行注释的方法…其实在python中可以直接用引号将需要注释的代码段括起来,使之变成字符串但不进行任何操作,一样可以达到注释的效果。)
#例题:输入1234转化为一二三四,输入312转化为三一二
template = "一二三四"
s = input()
for c in s:
print(template[eval(c)-1],end ="")
拓展:如何将一个单词的每个字母垂直输出?
for c in "world":
print(c)
字符串简易操作
!!一定要把字符串和列表区分开
①字符串的正向反向编号:
0 1 2 3#正向编号
A B C D
-4 -3 -2 -1#反向编号
②字符串的切片操作:
左闭右开原则
c = s[0:-1](获得新的字符串c,c不包括s的最后一个字符)
可空原则
c = s[0:](获得新的字符串c,c即是复制s)
#若在前面温度转换问题中将符号提前如:C12.34 F54.21 如何取值?
eval(tempstr[1:])
本文地址:https://blog.csdn.net/Douqiyuan/article/details/107469364
上一篇: go:数据类型