【头歌-Python】人机交互自学引导 人机交互自学引导本文提供了《人机交互自学引导》中 6 题的 题目、示例、参考代码。
禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137425935
参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301
- 如果代码存在问题,麻烦大家指正 ~ ~
- 有帮助麻烦点个赞 ~ ~
第1关:输出“Hello World!”
任务描述
正如破壳的小鸡来到一个新的世界一样,每一个初学编程语言的人,就如一个新的世界,以“Hello World”向一个新的代码世界打招呼。
“Hello World”含有对世界保持好奇心、不断探索新世界的意思,这也是程序员普遍所具有的一种精神!
本关任务:编写一个能在屏幕上输出显示“Hello World!”的小程序,用hello world向世界打招呼,体会到第一份成功的喜悦吧。
相关知识
为了完成本关任务,你需要掌握:
- 输出函数
- 字符串
输出函数
语法:
print(objects) # 输出括号中的对象,可以是数字、字符串等
字符串
通俗的理解,字符串就是:包含在一对引号中的一系列字符。
示例如下:
'hello world'
"hello world"
'''hello world'''
"""hello world"""
输出:
hello world
如何输出一串字符
把需要输出的字符放到一对引号中,做为一个字符串,再将字符串放到print后面的括号中做为参数,就可以输出这个字符串了。
print('hello world') # 注意本例与本关输出要求不同,字母大小写不同
输出:
hello world
编程要求
根据提示,在右侧编辑器补充代码,输出“Hello World!”。
测试说明
平台会对你编写的代码进行测试:
测试输入:
无
预期输出:
Hello World!
提示:
观察需要输出的字符串,只有字符串中全部字符(区分大小写)与题目要求输出的完全一样时,才能通过测试。
开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137425935
# 在下面一行补充代码,输出“Hello World!”
print('Hello World!')
第2关:输出“李白,你好!”
任务描述
本关任务:编写一个能在屏幕上输出显示“李白,你好!”和“李白,你好!”的小程序,向李白同学打招呼,收获大学第一份友谊。
相关知识
为了完成本关任务,你需要掌握:
- 输出函数
- 中文字符串
- 全角与半角
输出函数
语法:
print(objects)
中文字符串
通俗的理解,字符串就是:包含在一对引号中的一系列中文字符。
示例如下:
print('杜甫,你好!')
print("杜甫,你好!")
print('''杜甫,你好!''')
print("""杜甫,你好!""")
输出:
杜甫,你好!
全角与半角
- 全角:是一种电脑字符,一个全角字符占用两个标准字符(或两个半角字符)的位置,全角字符占两个字节。 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。在全角中,字母和数字等与汉字一样占据着等宽的位置。
- 半角:是指一个字符占用一个标准的字符位置,半角字符占一个字节。 半角就是 ASCII 方式的字符,在没有汉字输入法起作用的时候,输入的字母、数字和字符都是半角的。
每个半角字符只占用一字节的空间(一字节有8位,共256个编码空间)。汉语、日语、及朝鲜文等象形字语言的字库量远大于256个编码空间,所以改用两个字节来储存。同时,由于中日韩等象形文字的书写习惯,如果统一使用全角字符的话,排列起来也显得整齐。为了排列整齐,英文和其它拉丁文的字符和标点也提供了全角格式。 - 全角和半角的区别
全角和半角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节。
不管是半角还是全角,汉字都要占两个字节。
使用效果如下:
半角:Hello World!
全角:Hello World!
半角:杜甫,你好! (逗号和叹号是半角)
全角:杜甫,你好!
如何输出一串中文字符
把需要输出的字符放到一对引号中,做为一个字符串,再将字符串放到print后面的括号中做为参数,就可以输出这个字符串了。
输出时要注意查看字符串中的符号或非中文字符是全角还是半角,较好的方法是从题目中直接复制要输出的字符串,确保全部字符与要求完全相同。
编程要求
根据提示,在右侧编辑器补充代码,在两行中依次输出“李白,你好!”和“李白,你好!”。
测试说明
平台会对你编写的代码进行测试:
测试输入:
无
预期输出(有两行输出):
李白,你好!
李白,你好!
提示:
观察需要输出的字符串,只有字符串中全部字符(区分全角与半角)与题目要求输出的完全一样时,才能通过测试。
开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137425935
# 在下面一行补充代码,在两行中依次输出“李白,你好!”和“李白,你好!”
print("李白,你好!")
print("李白,你好!")
第3关:向任何人问好
任务描述
本关任务:编写一个能在屏幕上向用户输入的人问好的程序。
用户输入一个人名xxx,在屏幕上输出“xxx,你好!”。
相关知识
为了完成本关任务,你需要掌握:
- 输入函数
- 输出多个对象
输入函数
语法:
user_name = input() # 没有要求使用提示性文字时,括号里不加任何参数
# 接收用户输入的一个人名,命名为user_name,后面语句中用user_name引用这个人名
输出多个对象
将要输出的多个对象做为print()函数的参数,各对象间用半角逗号分隔。
输出后不显示参数间的逗号,多个对象之间用空格分隔。
print('a','b','c')
输出:
a b c!
print('杜甫', '你好!') # 半角逗号作两个对象的分隔符,输出时不显示,输出时两个对象之间用一个空格分隔
print('杜甫', ',你好!') # 第一个逗号半角分隔行,第二个逗号是全角,显示在中文语句中的符号,两个对象间仍有一个空格
输出:
杜甫 你好!
杜甫 ,你好!
编程要求
根据提示,在右侧编辑器补充代码,先用一条语句接收用户的输入,再在两行中依次输出“xxx 你好!”和“xxx ,你好!”。(“xxx”用用户输入的字符串替换)
测试说明
平台会对你编写的代码进行测试:
测试输入1:
杜甫
预期输出:
杜甫 你好!
杜甫 ,你好!
测试输入2:
李白
预期输出:
李白 你好!
李白 ,你好!
提示:
- 观察需要输出的字符串,只有字符串中全部字符(区分全角与半角)与题目要求输出的完全一样时,才能通过测试。
- 输出的多个对象间默认用一个空格分隔
开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137425935
# 补充代码,第一行接收一个人名的输入,后面两行中依次输出“xxx 你好!”和“xxx ,你好!”
user_name = input()
print(user_name, '你好!')
print(user_name,',你好!')
第4关:格式化输出
任务描述
本关任务:编写一个能在屏幕上向用户输入的人问好的程序。
用户输入一个人名xxx,在屏幕上分两行输出“xxx,你好!”和“xxx,你好!”。
相关知识
为了完成本关任务,你需要掌握:
- 输入函数
- 格式化输出
输入函数
语法:
user_name = input()
# 接收用户输入的一个人名,命名为user_name,后面语句中用user_name引用这个人名
格式化输出
大括号放到模板字符串中,可用于控制输出格式
'模板{}字符{}串{}'.format(输出对象1, 输出对象2,输出对象3)
f'模板{输出对象1}字符{输出对象2}串{输出对象3}
user_name = '杜甫'
print('{}你好!'.format('杜甫'))
print(f'{user_name}你好!') # 作用与前一行相同,二选一
print('{},你好!'.format('杜甫'))
print(f'{user_name},你好!') # 作用与前一行相同,二选一
输出:
杜甫你好!
杜甫你好!
杜甫,你好!
杜甫,你好!
编程要求
根据提示,在右侧编辑器补充代码,接受一个人名的输入,然后在两行中依次输出“xxx你好!”和“xxx,你好!”。
测试说明
平台会对你编写的代码进行测试:
测试输入:
杜甫
预期输出:
杜甫你好!
杜甫,你好!
提示:
- 观察需要输出的字符串,只有字符串中全部字符(区分全角与半角)与题目要求输出的完全一样时,才能通过测试。
- 模板中可以是任意字符串
- str.format()中模板字符串中的占位符{}数量必须与format()中的参数数量完全一致
- f-string中每个占位符中必须有一个变量或值
开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137425935
# 补充代码,第一行接收一个人名的输入,后面两行中依次输出“xxx你好!”和“xxx,你好!”
user_name =input()
print(f'{user_name}你好!')
print(f'{user_name},你好!')
第5关:输出多对象
任务描述
本关任务:编写一个能在屏幕上向用户输入的人问好的程序。
用户在两行中分别输入一个人名xxx和一个分隔符号,在屏幕上输出“xxx分隔符你好!”。
相关知识
为了完成本关任务,你需要掌握:
- 输入函数
- sep参数指定多对象输出时的分隔符
输入函数
语法:
user_name = input()
# 接收用户输入的一个人名,命名为user_name,后面语句中用user_name引用这个人名
sep参数指定多对象输出时的分隔符
print(objects1,objects2,objects3,...objectsn, sep='分隔符')
user_name = '杜甫'
print(user_name, '你好!', sep=':') # user_name是变量名,执行此条语句时用值“杜甫”替换
输出:
杜甫:你好!
user_name = '杜甫' # 本关此处需要改为用户输入
s = ',' # 表示分隔符,本关此处需要改为用户输入
print(user_name, '你好!', sep=s) # sep参数的值s是变量名,不能加引号
输出:
杜甫,你好!
编程要求
根据提示,在右侧编辑器补充代码,在两行分别输入一个人名和一个用于分隔的符号,再输出“xxx分隔符你好!”。(xxx用输入的人名替换)
测试说明
平台会对你编写的代码进行测试:
测试输入:
杜甫
,
预期输出:
杜甫,你好!
测试输入:
杜甫
:
预期输出:
杜甫:你好!
提示:
- 程序必须能根据输入的不同的人名和分隔符给出正确的输出
开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137425935
# 前两行分别输入人名和用于分隔的符号,第三行输出“xxx分隔符你好!”
user_name=input()
s = input()
print(user_name, '你好!', sep=s)
第6关: 同一行输出
任务描述
本关任务:编写一个能在同一行输出的程序。
用户输入一个符号,将程序中列表中的对象在同一行输出,每个对象后面跟着输出一个用户输入的符号。
相关知识
为了完成本关任务,你需要掌握:
- 输入函数
- 输出函数
- end参数指定输出结束符
输入函数
语法:
input([prompt])
输出函数
end='\n’表示输出后默认会输出一个换行符,使光标换到下一行,可修改end参数的值为其他字符,输出后输出end的参数值,并且光标不换行。
print(objects, end='\n')
end参数指定输出结束符
修改end值,可实现在同一行输出,输出一个对象后输出一个结束符号,光标不换行,多用于循环输出
for poet in ['李白', '白居易', '杜甫']:
print(poet) # 默认换行输出
输出:
李白
白居易
杜甫
end_mark = ',' # 用半角逗号做结束符
for poet in ['李白', '白居易', '杜甫']:
print(poet, end=end_mark) # 不换行,输出对象后再输出一个end参数里的符号
输出:
李白,白居易,杜甫,
注意:杜甫后面还有一个逗号
编程要求
根据提示,在右侧编辑器补充代码,用户输入一个符号,在同一行输出列表中的对象,各对象后跟着输出一个用户输入的符号。
测试说明
平台会对你编写的代码进行测试:
测试输入:
,
预期输出:
李白,王维,王勃,白居易,杜甫,
提示:
- 程序必须能根据输入的不同的结束符给出正确的输出
开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137425935
# 在下面空行输入一个符号
sep = input()
end_mark = sep
for poet in ['李白', '王维', '王勃', '白居易', '杜甫']:
# 在下一行对齐此位置写输出语句,加参数使输出时不换行,每个输出后用第2行输入的符号结尾
print(poet, end=end_mark)