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

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("输入另一个数:"))

搞定!

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当出现PythonTypeError: can't multiply sequence by non-int of type 'float'误时,意味着你正在尝试将一个序列(如列表或字符串)与一个浮点数相乘,而这是不允许的。Python中的乘法操作符*只能用于数字类型之间的相乘,而不能用于序列类型和数字类型之间的相乘。为了解决这个误,你可以通过以下方式之一来修复代码: 1. 确保你正在对数字类型进行乘法操作,而不是序列类型。你可以检查你的变量的类型,确保它们是数字类型。如果不是数字类型,你可以通过转换将其转换为数字类型,然后再进行乘法操作。 2. 如果你确实想要将序列重复多次,你可以使用乘法操作符*,但是你需要确保左边是数字,右边是整数。例如,如果你想将一个字符串重复3次,你可以使用"string" * 3。 3. 如果你想将一个序列的每个元素乘以一个浮点数,你可以使用列表推导式或循环来实现。例如,如果你有一个包含数字的列表,你可以使用列表推导式将每个元素乘以一个浮点数。 总之,TypeError: can't multiply sequence by non-int of type 'float'误是由于尝试将序列类型与浮点数相乘而引起的。你可以通过确保进行乘法操作的是数字类型,或者使用适当的乘法操作符或循环来修复这个误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [成功解决TypeError: can‘t multiply sequence by non-int of type ‘float](https://blog.csdn.net/qq_41185868/article/details/126126869)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Python中常见的误类型之一是“TypeError: can‘t multiply sequence by non-int of type ‘numpy.f...](https://blog.csdn.net/update7/article/details/129680171)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值