python中str字符串类型和eval()数值表达式操作


#输入123456789,输出对应汉字
str = '零一二三四五六七八九'
s = input()
# s1 = eval(input()) #678
# print(s1) #结果为:678
# print(type(s1)) #结果为:int
for item in s:
a = eval(item)
print(str[a],end='')
print(type(a)) #结果为:int


#输入字符时要是4,5的形式
n,m=eval(input('请输入n>=1和m<=20'))
if n < 1 or m > 20:
print("请重新输入")
print(n,m) #结果为:4 5


#常见str字符串类型和eval()数值表达式转换方式
str1 = '1234'
str2 = '1234'
#str1[0] = 2 #字符串类型不支持赋值,改变元素值。TypeError: 'str' object does not support item assignment
# a = str1[0] + 1 #TypeError: can only concatenate str (not "int") to str
print(str1[0] + "1") #结果为:11
print(eval(str1)) #结果为:1234
print(type(eval(str1))) #结果为:,其不是列表类型是int类型
if str1 == str2: #判断两个字符串是否一样
print(str1[1]) #结果为:1