这是一个创建于 1847 天前的主题,其中的信息可能已经有所发展或是发生改变。
初来乍到,自学的 python,根据《 python 编程-从入门到实践》一章章学,到了最后一张测试
我编写了如下程序
定义一个函数 user,first 与 last 用户输入,随后返回每一次的结果,刚开始用 print 没有返回值无法做 unittest,使用 return 只返回一次
最后查了资料用到了 yield
第二部分做测试环节,但是这样一直报错 NameError: global name 'first' is not defined
把 yield 改成 return 可以得到正确的测试,但是我想每当我输入一次内容就做一次测试
请教各位这样的情况下如何改写代码,万分感谢,可能是个很低端的问题,但卡住我了
def user():
while True:
global first
first=input("Enter your first name ")
global last
last=input("Enter your lasr name ")
if first != "q" and last != "q":
full=first.title()+" "+last.title()
yield(full)
else:
break
class test(unittest.TestCase):
def test_4_user(self):
test1=user()
if first != "q" and last != "q":
for i in test1
self.assertEqual(i,first.title()+" "+last.title())
unittest.main()