Python 报错之 ValueError: too many values to unpack (expected 3)

问题描述——ValueError: too many values to unpack (expected 3)

在使用python运行下面代码得时候出现下面这个问题。代码如下面:

x,y,z=input("")
print('我的出生日期是{}年{}月{}日'.format(x,y,z))

Python 报错之 ValueError: too many values to unpack (expected 3)_开发语言

问题原因

错误分析:在python3得版本中 ,你这个输入一段字符,不能有效分割出来,导致下面得3个字符的格式化出了问题,就是输入的值,不能被解包分别赋值给x,y,z3个值

解决方法

第一种方法:3个值不一步输入,分开输入代码如下:

x=input()
y=input()
z=input()
print('我的出生日期是{}年{}月{}日'.format(x,y,z))

Python 报错之 ValueError: too many values to unpack (expected 3)_解决方法_02

第二种方法:如果想都在一行输入3个值,就要用map这个函数,代码如下:

x,y,z = map(int, input().split())
print('我的出生日期是{}年{}月{}日'.format(x,y,z))

Python 报错之 ValueError: too many values to unpack (expected 3)_解决方法_03

这样输入就成功了

Python 报错之 ValueError: too many values to unpack (expected 3)_赋值_04

注意,不能输入一个字符,不然也会报错,map函数不能分割一个字符,要像上面那样的输入

问题解决