python之报错TypeError: can‘t multiply sequence by non-int of type ‘str‘

该博客探讨了在Python3中使用input()函数获取用户输入时遇到的TypeError问题。当尝试将字符串相乘而未进行类型转换时,会抛出错误。解决方案是将输入的字符串通过int()函数转换为整数再进行计算。文章强调了理解数据类型和强制类型转换在编程中的重要性。
Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

s1 = input("输入一个数:")
s2 = input("输入另一个数:")
s3 = s1 * s2

执行后分别输入两个数,报错TypeError: can’t multiply sequence by non-int of type ‘str’,结果如图:

在这里插入图片描述
查阅python文档可知,Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。

>>>a = input("input:")
input:123                  # 输入整数
>>> type(a)
<class 'str'>              # 字符串
>>> a = input("input:")    
input:runoob              # 正确,字符串表达式
>>> type(a)
<class 'str'>             # 字符串

在键盘输入的数我们以为是整数,实际上在内存里并不是正整数,而是字符串,所以在进行s3 = s1 * s2计算时报错(字符串不可以相乘啊)。

解决思路:强制类型转换。

#1.代码中计算部分修改为: 
 s3=int(s1) * int(s2)

或者

s1 = int(input("输入一个数:"))
s2 = int(input("输入另一个数:"))

搞定!

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值