1、源代码

   以下代码执行时会报  range' object does not support item assignment 的错误,问题出现在第17行的runge(10);

  1. import unittest
  2. import random
  3.  
  4. class TestSequenceFunctions(unittest.TestCase):
  5.  
  6. def setUp(self):
  7. #初始化一个递增序列
  8. self.seq = range(10)
  9. def runTest(self):
  10. #从序列seq中随机选取一个元素
  11. element = random.choice(self.seq)
  12. #验证随机元素确实属于列表中
  13. # self.assertTrue(element in self.seq)
  14.  
  15. class TestDictValueFormatFunchions(unittest.TestCase):
  16. def setUp(self):
  17. self.seq = range(10)#这里是出错的地方
  18. def test_shuffle(self):
  19. #随机打乱原seq的顺序
  20. random.shuffle(self.seq)
  21. self.seq.sort()
  22. self.assertEqual(self.seq,range(10))
  23. #验证执行函数是跑出了TypeError异常
  24. self.assertEqual(TypeError,random.shuffle,(1,2,3))
  25.  
  26. if __name__ == "__main__":
  27. unittest.main()

2、修改后的代码

         在17行的基础上添加list(range(10))就ok了。

错误原因:是python3中range不返回数组对象,而是返回range对象

  1. import unittest
  2. import random
  3.  
  4. class TestSequenceFunctions(unittest.TestCase):
  5.  
  6. def setUp(self):
  7. #初始化一个递增序列
  8. self.seq = range(10)
  9. def runTest(self):
  10. #从序列seq中随机选取一个元素
  11. element = random.choice(self.seq)
  12. #验证随机元素确实属于列表中
  13. # self.assertTrue(element in self.seq)
  14.  
  15. class TestDictValueFormatFunchions(unittest.TestCase):
  16. def setUp(self):
  17. self.seq = list(range(10))#这里是修改过的地方
  18. def test_shuffle(self):
  19. #随机打乱原seq的顺序
  20. random.shuffle(self.seq)
  21. self.seq.sort()
  22. self.assertEqual(self.seq,range(10))
  23. #验证执行函数是跑出了TypeError异常
  24. self.assertEqual(TypeError,random.shuffle,(1,2,3))
  25.  
  26. if __name__ == "__main__":
  27. unittest.main()

python3中报错:TypeError: 'range' object doesn't support item deletion的更多相关文章

  1. TypeError: 'range' object doesn't support item deletion

    python 是个逐步迭代开发的过程,他不是向下兼容的,更不是向上兼容,版本不一致,好端端的程序就是不能运行了. 下面是在python 2中能运行,在Python 3中不能运行的代码.其实也很简单.但 ...

  2. python 报错TypeError: 'range' object does not support item assignment,解决方法

    贴问题 nums = range(5)#range is a built-in function that creates a list of integers print(nums)#prints ...

  3. Python:TypeError: 'range' object doesn't support item deletion

    报错代码: dataIndex = range(m) del (dataIndex[randIndex]) 报错信息: 错误原因: python3 range返回的是range对象,不是数组对象 解决 ...

  4. TypeError: 'range' object does not support item assignment处理方法

    vectorsum.py#!/usr/bin/env/pythonimport sysfrom datetime import datetimeimport numpy as np # def num ...

  5. TypeError: 'range' object does not support item assignment

    TypeError: 'range' object does not support item assignment I was looking at some python 2.x code and ...

  6. Python的字符串修改报错:TypeError: 'str' object does not support item assignment

    Python中想修改字符串的最后一个字符,使用name[-1] = 'e'来实现,运行后报错. 报错内容是:TypeError: 'str' object does not support item ...

  7. TypeError: 'str' object does not support item assignment Python常见错误

    1.string是一种不可变的数据类型 2.尝试使用 range()创建整数列 有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式. 需要记住 range() 返回的 ...

  8. python TypeError: 'str' object does not support item assignment”

    想替换string里的空格,遍历替换提示如题错误,查询得知string类型不可更改 import string s = "2013/2/12" b = s.replace('/', ...

  9. appium 提示报错“TypeError: 'unicode' object is not callable”的解决方式!

    这里提到的这个报错,是小错误且容易经常会犯,有时需要特别注意使用. 目的要求结果:根据某个元素的id值获取到对应id的text值,并且将获取的text值与本身存在的text值做比较,查看text值是否 ...

随机推荐

  1. [INet] I/O模型:同步阻塞,同步非阻塞,异步非阻塞

    POSIX 把这同步.异步两个术语定义 如下: 同步 I/O 操作( synchronous I/O opetation) 导致请求进程阻塞, 直到 I/O 操作完成: 异步 I/O 操作( asyn ...

  2. 1804.03235-Large scale distributed neural network training through online distillation.md

    现有分布式模型训练的模式 分布式SGD 并行SGD: 大规模训练中,一次的最长时间取决于最慢的机器 异步SGD: 不同步的数据,有可能导致权重更新向着未知方向 并行多模型 :多个集群训练不同的模型,再 ...

  3. Hibernate Search集与lucene分词查询

    lucene分词查询参考信息:https://blog.csdn.net/dm_vincent/article/details/40707857

  4. vue之表单输入绑定

  5. vue项目锚点的使用

    在vue项目中如何使用锚点呢? 在vue-router中定义 scrollBehavior scrollBehavior (to, from, savedPosition) { if (savedPo ...

  6. BackgroundWorker 组件

    代码: static void Main(string[] args) { BackgroundWorker bw = new BackgroundWorker(); bw.WorkerReports ...

  7. # 2018-2019-20175302实验一《Java开发环境的熟悉》实验报告

    2018-2019-20175302实验一<Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java ...

  8. 2018-2019-2 《Java程序设计》结对项目阶段总结《四则运算——整数》(二)

    20175218 2018-2019-2 <Java程序设计>结对项目阶段总结<四则运算--整数> 一.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加,减, ...

  9. UILabel设置富文本后不显示省略号

    先描述一下问题,项目中用到了UILabel去显示一段富文本文字,超过label显示区域部分,省略号处理. 但是当设置好 attributedText 给label之后,显示出的效果是文字被切割了,并没 ...

  10. odoo 配置文件

    [options] ; addons模块的查找路径 addons_path = E:\GreenOdoo8.0\source\openerp\addons ; 管理员主控密码(用于创建.还原和备份数据 ...