首页 新闻 会员 周边

Python错误:Traceback (most recent call last):感觉是软件出了问题

0
悬赏园豆:100 [已解决问题] 解决于 2019-04-08 10:37

首先粘贴代码:

shopping={}
key1=input('请输入要存入的商品名称:')
value1=input('请输入商品的金额(数字):')
if value1.isdigit():
value1=int(value1)
shopping[key1]=value1
for i in shopping:
print(i,shopping[i])

代码功能:输入商品名称和商品价钱,然后存入字典中,最后输出
错误类型:
Testing started at 20:44 ...
C:\Users\Administrator\PycharmProjects\untitled4\venv\Scripts\python.exe "D:\Program Files (x86)\PyCharm Community Edition 2018.2.4\helpers\pycharm_jb_pytest_runner.py" --path C:/Users/Administrator/PycharmProjects/untitled4/Day3/test_shopping.py
Traceback (most recent call last):
File "D:\Program Files (x86)\PyCharm Community Edition 2018.2.4\helpers\pycharm_jb_pytest_runner.py", line 5, in <module>
import pytest
ImportError: No module named 'pytest'

Process finished with exit code 1
最后说明一下:我文件名:test_shopping.py
运行了一下出现错误,然后从新创建文件把代码粘贴复制后,成功运行,我也不知道错那了

Anxc的主页 Anxc | 初学一级 | 园豆:116
提问于:2019-04-07 20:51
< >
分享
最佳答案
0

你的新文件名不是test吧,你这是运行的模式没对,用这个pycharm_jb_pytest_runner.py脚本跑的。我还没找着怎么这样跑,可能是编辑器自己识别你的代码为测试代码。正常的是python.exe(windows)。
你可以试试pip install pytest, 然后再跑这份代码,看看对不对。

收获园豆:100
Masako | 小虾三级 |园豆:1893 | 2019-04-08 09:42

安装了pytest后,运行了一下,看不懂了,不过你前面的说对了

Testing started at 10:15 ...
C:\Users\Administrator\PycharmProjects\untitled4\venv\Scripts\python.exe "D:\Program Files (x86)\PyCharm Community Edition 2018.2.4\helpers\pycharm_jb_pytest_runner.py" --path C:/Users/Administrator/PycharmProjects/untitled4/Day3/test_shopping.py
Launching pytest with arguments C:/Users/Administrator/PycharmProjects/untitled4/Day3/test_shopping.py in C:\Users\Administrator\PycharmProjects\untitled4\Day3

============================= test session starts =============================
platform win32 -- Python 3.5.2, pytest-4.4.0, py-1.8.0, pluggy-0.9.0
rootdir: C:\Users\Administrator\PycharmProjects\untitled4\Day3
test_shopping.py:None (test_shopping.py)
test_shopping.py:6: in <module>
key1=input('请输入要存入的商品名称:')
..\venv\lib\site-packages_pytest\capture.py:693: in read
raise IOError("reading from stdin while output is captured")
E OSError: reading from stdin while output is captured
collected 0 items / 1 errors

=================================== ERRORS ====================================
______________________ ERROR collecting test_shopping.py ______________________
test_shopping.py:6: in <module>
key1=input('请输入要存入的商品名称:')
..\venv\lib\site-packages_pytest\capture.py:693: in read
raise IOError("reading from stdin while output is captured")
E OSError: reading from stdin while output is captured
------------------------------- Captured stdout -------------------------------
请输入要存入的商品名称:
!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!
=========================== 1 error in 0.33 seconds ===========================
Process finished with exit code 0

Anxc | 园豆:116 (初学一级) | 2019-04-08 10:18

@Anxc: 这就是正常了,给你测试出来有什么问题了,然后正确退出了。具体测试的方面我也不是很懂,你要不是测试,就用run就可以,然后命名的时候注意一下‘test’这种单词少用,免得编辑器太智能认为你在写测试用例。

Masako | 园豆:1893 (小虾三级) | 2019-04-08 10:29

Anxc | 园豆:116 (初学一级) | 2019-04-08 10:31

@Masako: 嗯 ,谢谢了,那我以后多注意文件命名吧

Anxc | 园豆:116 (初学一级) | 2019-04-08 10:36

@Anxc: 测试项目吗?那就按照测试规范来。还有这个 run 可以设置的。我一般建的是pure pyrhon项目,直接用python跑,你这可以在settings中看一下,设置好了就没问题。

Masako | 园豆:1893 (小虾三级) | 2019-04-08 10:39

@Masako: 不是测试项目,小白一个,刚学字典,只是简单的运行一下没想到就出这种问题,怎么设置啊?还有你用的不是pycharm吗?

Anxc | 园豆:116 (初学一级) | 2019-04-08 10:43

@Anxc: 我用的是pycharm啊,创建项目和新文件的时候可以选择是什么项目什么类型的文件,我一遍都是直接纯python。
然后可以设置运行的规则的,用哪个环境,有什么参数都可以设置的。

这个是run的配置的地方。

Masako | 园豆:1893 (小虾三级) | 2019-04-08 11:01

@Masako: 嗯,谢啦!

Anxc | 园豆:116 (初学一级) | 2019-04-08 11:13
其他回答(1)
0

我发现的问题:
1、i的值未定义;
2、这样写的for循环在最后输出的字典里只会保存最后一次的那个键值对

骑着兔子的蜗牛 | 园豆:299 (菜鸟二级) | 2019-04-07 21:53

不对,我只是增加了一个字典键值对,然后输出,i是键值

支持(0) 反对(0) Anxc | 园豆:116 (初学一级) | 2019-04-08 09:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册