对于家庭作业,我已经设置了以下内容:
使用myEmployees列表中的名称构建一个字典为 钥匙并为每位员工分配10 000的工资(作为价值)。循环在字典上 并增加名称超过四名的员工的工资 字母长度为1000 *。之前打印字典内容 并且在增加之后。
我无法弄明白该怎么做。
这是我到目前为止所提出的。
employeeDict = {"John":'10,000', "Daren":"10,000", "Graham":"10,000", "Steve":"10,000", "Adren":"10,000"}
say = 'Before increase'
print say
print employeeDict
say1 = 'After increase'
print say1
for x in employeeDict:
x = len(employeeDict)
if x > 5:
print employeeDict[x]
答案 0 :(得分:0)
显然,你有一些缩进问题,但主要的问题是你花了字典的长度(得到键的数量)没有占用密钥的长度。你也有一些不好的逻辑。
employeeDict = {"John":'10,000', "Daren":"10,000", "Graham":"10,000", "Steve":"10,000", "Adren":"10,000"}
say = 'Before increase'
print say
print employeeDict
say1 = 'After increase'
print say1
for x in employeeDict:
length = len(employeeDict) # <---- indent this
if length >= 5: # <--- greater than 4
# convert string to number, add money, convert back to string
employeeDict[x] = str(int(employeeDict[x]) + 1000 * (length))
print employeeDict[x]
答案 1 :(得分:0)
首先,将值更改为整数/浮点数。
employeeDict = {"John":10000, "Daren":10000, "Graham":10000, "Steve":10000, "Adren":10000}
执行此操作后,如您所知,您需要遍历dict中的项目。
for x in employeeDict:
x = len(employeeDict)
if x > 5:
print employeeDict[x]
在上面的代码中,您的&#34; x&#34;将是员工姓名。如您所知,要将值赋值给dict中的键,您必须使用dict[key] = value
,因此请尝试在if x > 5:
块语句中执行此操作。我不是想给你完整的答案,而是要把你推向正确的方向。
答案 2 :(得分:0)
试一试并分析它:
employees = {"John":10000, "Daren":10000, "Graham":10000}
for name in employees:
if len(name) > 5:
employees[name] += 1000 * len(name)
如果你必须坚持使用字符串值,你可以这样做:
employees = {"John":"10000", "Daren":"10000", "Graham":"10000"}
for name in employees:
if len(name) > 5:
employees[name] = str(int(employees[name]) + 1000 * len(name))
答案 3 :(得分:0)
这应该可以满足您的需求。
employeeDict = {"John":10000, "Daren":10000, "Graham":10000, "Steve":10000, "Adren":10000}
print "Before increase"
print employeeDict
for name, salary in employeeDict.items():
if len(name) > 4:
employeeDict[name] = salary + len(name) * 1000
print "After increase"
print employeeDict
您的版本中存在一些问题。
另请注意,我相信如果名称超过四个字符,您的作业将会显示。所以我使用了4而不是5。