类型判断和类型间转换
数字类型的转换
>>> a=input("请输入一个数")
请输入一个数5
>>> a
'5'
>>> type(a)
<class 'str'>
>>> eval("45")+1
46
>>> eval(a)+5
10
n=eval(input('请输入一个数:'))
if type(n)==type(123):
print("输入的数字是整数。")
elif type(n)==type(11.3):
print("输入的数字是浮点数。")
else:
print("无法判断输入类型。")
函数 | 描述 |
---|---|
int(x) | 将x转换为整数,x可以是浮点数或字符串 |
float(x) | 将x转换为浮点数,x可以是整数或字符串 |
str(x) | 将x转换为字符串,x可以是整数或浮点数 |
n=eval(input("请输入一个数字:"))
if n==int(n):
print("整数")
=============== RESTART: D:/ing/python/python/files/example.py ===============
请输入一个数字:45
整数
实例解析
凯撒密码
C=(P+3) mod 26
# CaesarEncode.py
ptxt = input("请输入明文文本: ")
for p in ptxt:
if "a" <= p <= "z":
print(chr(ord("a")+(ord(p)-ord("a")+3)%26), end='')
elif "A" <= p <= "Z":
print(chr(ord("A")+(ord(p)-ord("A")+3)%26), end='')
else:
print(p, end='')
============= RESTART: F:\Python2\行文代码\行文代码\第3章\CaesarEncode.py =============
请输入明文文本: Hello World
Khoor Zruog
============= RESTART: F:\Python2\行文代码\行文代码\第3章\CaesarEncode.py =============
请输入明文文本: ABC
DEF
注释
#ord(p):p在字母表中的排序
#+3:加密
#%26:求余
#ord("a"):明文的ASCII值
#(ord(p)-ord("a")+3)%26:编号
#ord("a")+(ord(p)-ord("a")+3)%26:加密后的值
#chr():将ASCII值转编为字母
#end='':默认输出为换行,每运行一次换一行
>>> ord("A")
65
>>> chr(65)
'A'
解密
P=(C-3) mod 26
# CaesarDecode.py
etxt = input("请输入加密后文本: ")
for p in etxt:
if "a" <= p <= "z":
print(chr(ord("a")+(ord(p)-ord("a")-3)%26), end='')
elif "A" <= p <= "Z":
print(chr(ord("A")+(ord(p)-ord("A")-3)%26), end='')
else:
print(p, end='')
============= RESTART: F:\Python2\行文代码\行文代码\第3章\CaesarDecode.py =============
请输入加密后文本: Khoor Zruog
Hello World
============= RESTART: F:\Python2\行文代码\行文代码\第3章\CaesarDecode.py =============
请输入加密后文本: ABC
XYZ
原文 | A | B | C | D | E | … |
---|---|---|---|---|---|---|
密文 | D | E | F | G | H | … |
eg:
ASCII: C=67
67+3=70
70÷26=2…18
(求余:70%26=18)
(错误)不用ASCII值计算,应该用当前字母在字母表中的顺序
【作业】输入一个浮点数,将它的整数部分连续输出三次
a=eval(input("please input num:"))
print(str(int(a))*3)
=============== RESTART: D:/ing/python/python/files/example.py ===============
please input num:65
656565
【作业】输入两个字符串,判断其中一个字符串在另一个字符串中出现的次数
a,b=input("a"),input("b")
print(a.count(b))
=============== RESTART: D:/ing/python/python/files/example.py ===============
a
b
1