该文章仅仅发表我的个人答案,答案并不一定标准,仅供参考。题目要求都是复制的,所以可能有所缺失。
包含题形如下:
第1关:输出菱形字符图案
任务描述
本关任务:编写一个能输出由符号构成菱形图案的小程序。
相关知识
为了完成本关任务,你需要掌握: Python
的循环结构。
for 循环
for
循环在 Python
中是一个通用的迭代器,可以遍历任何有序的序列对象内的元素。 for
语句可用于字符串、列表、元组、文件等可迭代对象。 for
循环格式如下:
<span class="kwd">for</span> <span class="kwd">in</span> <span class="pun"><遍历结构>:<!--遍历结构--></span>
<span class="pun"><语句块< span><span class="lit">1</span><span class="pun">></span><!--语句块<--></span>
<span class="kwd">else</span><span class="pun">:</span>
<span class="pun"><语句块< span><span class="lit">2</span><span class="pun">></span><!--语句块<--></span>
在 for
循环,内置函数 range()
产生序列,可以来控制循环结构。
range(start, stop, [step])
start
: 计数从start
开始。默认是从0
开始。例如range(5)
等价于range(0, 5)
stop
: 计数到stop
结束,但不包括stop
。例如:range(0, 5)
是[0, 1, 2, 3, 4]
没有5
-
step
:步长,默认为1
。例如:range(0, 5)
等价于range(0, 5, 1)
-
<span class="pun">>>></span> <span class="kwd">for</span><span class="pln"> x </span><span class="kwd">in</span> <span class="pun">[</span><span class="lit">1</span><span class="pun">,</span><span class="lit">2</span><span class="pun">,</span><span class="lit">3</span><span class="pun">,</span><span class="lit">4</span><span class="pun">,</span><span class="lit">5</span><span class="pun">]:</span>
<span class="kwd">print</span><span class="pun">(</span><span class="pln"> x </span><span class="pun">**</span> <span class="lit">2</span><span class="pun">,</span><span class="str">' '</span><span class="pun">,</span> <span class="kwd">end</span> <span class="pun">=</span> <span class="str">' '</span> <span class="pun">)</span>
<span class="lit">1</span> <span class="lit">4</span> <span class="lit">9</span> <span class="lit">16</span> <span class="lit">25</span>
编程要求
根据提示,在右侧编辑器补充代码,并输出菱形图案。
注意:
最后一行菱形图案不需要换行,可以用以下格式去掉换行符:
<span class="kwd">print</span><span class="pun">(</span><span class="str">"*"</span> <span class="pun">,</span><span class="kwd">end</span> <span class="pun">=</span> <span class="str">""</span><span class="pun">)</span>
测试说明
我会对你编写的代码进行测试:
测试输入: 3
预期输出:
开始你的任务吧,祝你成功!
解答如下:
-*- coding:utf-8 -*-
import math
row = int( input() )
if row == 1:
print("*", end = "" )
exit()
if row % 2 == 0 :
raise ValueError
row = math.ceil( row / 2.0 )
for n in range( 1, row + 1 ):
i = 2 * n - 1 #每一行*的个数
j = ( row - n ) * 2 #每一行空格的个数
for jj in range(j): #控制输出每一行的空格
print( " ", end="" )
if i > 1: #如果一行字母*的个数大于1,则要控制*和*之间的空格格式然后输出
for ii in range(i):
if ii != i - 1:
print("* ", end="" )
else:
print("*")
else: #如果一行的字母*的个数等于1,则直接输出*
print("*")
输出完菱形的上半部分,下半部分直接通过反向控制输出
#********* Begin *********#
for n in range( row-1, 0, -1):
i = 2 * n - 1 #每一行*的个数
j = ( row - n ) * 2 #每一行空格的个数
for jj in range(j): #控制输出每一行的空格
print( " ", end="" )
if i > 1: #如果一行字母*的个数大于1,则要控制*和*之间的空格格式然后输出
for ii in range(i):
if ii != i - 1:
print("* ", end="" )
else:
print("*")
else: #如果一行的字母*的个数等于1,则直接输出*
print("*")
#********* End *********#
第2关:输出指定范围内的偶数
任务描述
本关任务:编写一个能输出指定范围内的偶数的小程序。
相关知识
为了完成本关任务,你需要掌握:1. python
如何进行数字的读取,2. Python
的循环结构和 list
操作。
输入函数 input()
<span class="pln">num </span><span class="pun">=</span><span class="pln"> int</span><span class="pun">(</span><span class="pln">input</span><span class="pun">(</span><span class="str">"输入一个数字: "</span><span class="pun">))</span>
python
通过 input()
函数进行数据的读取。
循环结构 for
for
循环在 Python
中是一个通用的迭代器,可以遍历任何有序的序列对象内的元素。 for
语句可用于字符串、列表、元组、文件等可迭代对象。 for
循环格式如下:
<span class="kwd">for</span> <span class="kwd">in</span> <span class="pun"><遍历结构>:<!--遍历结构--></span>
<span class="pun"><语句块< span><span class="lit">1</span><span class="pun">></span><!--语句块<--></span>
<span class="kwd">else</span><span class="pun">:</span>
<span class="pun"><语句块< span><span class="lit">2</span><span class="pun">></span><!--语句块<--></span>
在 for
循环,内置函数 range()
产生序列,可以来控制循环结构。
range(start, stop[, step])
start
: 计数从start
开始。默认是从0
开始。例如range(5)
等价于range(0, 5)
;stop
: 计数到stop
结束,但不包括stop
。例如:range(0, 5)
是[0, 1, 2, 3, 4]
没有5
step
:步长,默认为1
。例如:range(0, 5)
等价于range(0, 5, 1)
列表 list
list
是一个有序的序列,其中包括 0
或多个对象引用,支持 5-6
种序列共用的运算和函数。其中最常用的函数就是追加元素, append
函数。
ls.append(x)
在列表 ls
最后增加一个元素 x
<span class="pun">>>></span><span class="pln"> lt</span><span class="pun">=[]</span> <span class="com">#创建一个空列表</span>
<span class="pun">>>></span><span class="pln"> lt</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="str">'A'</span><span class="pun">)</span>
<span class="com">#调用append方法向lt中追加一个元素′A′</span>
<span class="pun">>>></span><span class="pln"> lt</span>
<span class="pun">[</span><span class="str">'A'</span><span class="pun">]</span>
如何判断奇偶
自然数中,能被 2
整除的数是偶数,反之是奇数。
编程要求
输入两个整数,两个数作为范围,通过程序输出范围内所有的偶数。
例如:
输入: 1 12
,则输出: 2,4,6,8,10,12
;
输入: -2 10
,则输出: -2,0,2,4,6,8,10
;
输入: 100 110
,则输出: 100,102,104,106,108,110
。
注意:
print()
输出不换行。
测试说明
我会对你编写的代码进行测试:
测试输入: 1 12
预期输出: 2,4,6,8,10,12
开始你的任务吧,祝你成功!
解答如下:
-*- coding:utf-8 -*-
begin, end = map( int, input("").split() )
result = []
#********* Begin *********#
abc = []
for x in range(begin,end+1):
result.append(x)
for i in result:
if i % 2 == 0:
abc.append(i)
print(','.join(map(str,abc)))
#********* End *********#
第3关:输出九九乘法表
任务描述
本关任务:利用小程序输出九九乘法表。
为了完成本关任务,你需要掌握: Python
的循环结构。
for 循环
for
循环在 Python
中是一个通用的迭代器,可以遍历任何有序的序列对象内的元素。 for
语句可用于字符串、列表、元组、文件等可迭代对象。 for
循环格式如下:
<span class="kwd">for</span> <span class="kwd">in</span> <span class="pun"><遍历结构>:<!--遍历结构--></span>
<span class="pun"><语句块< span><span class="lit">1</span><span class="pun">></span><!--语句块<--></span>
<span class="kwd">else</span><span class="pun">:</span>
<span class="pun"><语句块< span><span class="lit">2</span><span class="pun">></span><!--语句块<--></span>
在 for
循环,内置函数 range()
产生序列,可以来控制循环结构。
range(start, stop, [step])
start
: 计数从start
开始。默认是从0
开始。例如range(5)
等价于range(0, 5)
stop
: 计数到stop
结束,但不包括stop
。例如:range(0, 5)
是[0, 1, 2, 3, 4]
没有5
step
:步长,默认为1
。例如:range(0, 5)
等价于range(0, 5, 1)
编程要求
要求利用 for
循环输出九九乘法表,通过双层 for
循环进行控制,然后按照相应的格式输出九九乘法表。
- 注意换行的处理。
测试说明
我会对你编写的代码进行测试:
样例输出:
开始你的任务吧,祝你成功!
解答如下:
-*- coding:utf-8 -*-
for i in range(1,10):
for j in range(i):
#********* Begin *********#
if i == j+1:
print('{} * {} = {}'.format(i, j+1, i*(j+1)),end='')
continue
print('{} * {} = {} '.format(i, j+1, i*(j+1)),end='')
#********* End *********#
if i != 9:
print()
第4关:石头、剪刀、布游戏
任务描述
本关任务:编写一个石头、剪刀、布游戏类的小程序。
为了完成本关任务,你需要掌握:1. Python
的循环结构,2. python
中的 list
列表结构。
循环结构
for
循环在 Python
中是一个通用的迭代器,可以遍历任何有序的序列对象内的元素。 for
语句可用于字符串、列表、元组、文件等可迭代对象。 for
循环格式如下:
<span class="kwd">for</span> <span class="kwd">in</span> <span class="pun"><遍历结构>:<!--遍历结构--></span>
<span class="pun"><语句块< span><span class="lit">1</span><span class="pun">></span><!--语句块<--></span>
<span class="kwd">else</span><span class="pun">:</span>
<span class="pun"><语句块< span><span class="lit">2</span><span class="pun">></span><!--语句块<--></span>
在 for
循环,内置函数 range()
产生序列,可以来控制循环结构。
range(start, stop, [step])
start
: 计数从start
开始。默认是从0
开始。例如range(5)
等价于range(0, 5)
stop
: 计数到stop
结束,但不包括stop
。例如:range(0, 5)
是[0, 1, 2, 3, 4]
没有5
step
:步长,默认为1
。例如:range(0, 5)
等价于range(0, 5, 1)
列表 list
list
是一个有序的序列,其中包括 0
或多个对象引用, list
中肯定也支持存放 list
作为存储元素。
<span class="pun">>>></span><span class="pln"> lt</span><span class="pun">=[]</span> <span class="com">#创建一个空列表</span>
<span class="pun">>>></span><span class="pln"> lt</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="str">'A'</span><span class="pun">)</span>
<span class="com">#调用append方法向lt中追加一个元素′A′</span>
<span class="pun">>>></span><span class="pln"> lt</span>
<span class="pun">[</span><span class="str">'A'</span><span class="pun">]</span>
编程要求
编写传统的石头、剪刀、布的游戏程序,单局胜负规则是,剪刀胜布,布胜石头,石头胜剪刀。用户玩家和计算机对阵,采用 7
局 4
胜制。为了简单便于判定,计算机的选择方式是固定的,并不是随机的选择序列,最后输出胜负或平局信息。
例如:
输入: 石头,剪刀,剪刀,布,布,石头,石头
,则输出: 电脑赢!
;
输入: 剪刀,布,剪刀,石头,布,剪刀,石头
,则输出: 电脑赢!
;
输入: 布,石头,石头,布,剪刀,石头,剪刀
,则输出: 玩家赢!
。
测试说明
我会对你编写的代码进行测试:
测试输入: 石头,剪刀,剪刀,布,布,石头,石头
预期输出: 电脑赢!
开始你的任务吧,祝你成功!
解答如下:
-*- coding:utf-8 -*-
import random
people_guess = [ x for x in map( str, input("").split(",") ) ]
guess_list = ["石头","剪刀","剪刀","布","布","石头","布"] # 电脑出拳的方式
computer_win_condition = [["布","石头"],["石头","剪刀"],["剪刀","布"]] # 每次电脑赢的情况
balance_condition = [["布","布"],["石头","石头"],["剪刀","剪刀"]] # 每次平局的情况
computer_win_number = 0 # 电脑赢的次数
people_win_number = 0 # 玩家赢得次数
#********* Begin *********#
for x in range(0,7):
if [guess_list[x],people_guess[x]] == computer_win_condition[0]:
computer_win_number += 1
elif [guess_list[x],people_guess[x]] == computer_win_condition[1]:
computer_win_number += 1
elif [guess_list[x],people_guess[x]] == computer_win_condition[2]:
computer_win_number += 1
elif people_guess[x] == guess_list[x]:
computer_win_number += 1
people_win_number += 1
else:
people_win_number += 1
#********* End *********#
游戏进行 7 次之后,进行输赢的判别
if computer_win_number > people_win_number:
print("电脑赢!",end="")
elif computer_win_number < people_win_number:
print( "玩家赢!", end="" )
else:
print("平局!")
第1关:将输入的三个整数x,y,z按由小到大的顺序输出
本关必读
在编程语言学习的过程中,对多个数字进行大小比较是必须掌握的技能之一。细究起来,要比较对象的多少并不重要,重要的是学会掌握此类问题的解决思路。以三个数大小比较为例,思路如下:
-
第一轮比较:从第一个数开始,先比较第一个数和第二个数,若第一个数大于第二个数,则两数互换;否则不作处理,同理接着比较第二个数和第三个数,这样就可以得到三个数的最大值;
-
第二轮比较:再从第一个数开始,比较第一个数和第二个数的大小,方法和第一轮一样,这样就可以得到最小数和中间数。
任务说明
Python 编程中 if 语句用于控制程序的执行,基本形式为
<span class="kwd">if</span> <span class="pun">判断条件:</span>
<span class="pun">执行语句……</span>
<span class="kwd">else</span><span class="pun">:</span>
<span class="pun">执行语句……</span>
或者
<span class="kwd">if</span> <span class="pun">判断条件</span><span class="lit">1</span><span class="pun">:</span>
<span class="pun">执行语句</span><span class="lit">1</span><span class="pun">……</span>
<span class="kwd">elif</span> <span class="pun">判断条件</span><span class="lit">2</span><span class="pun">:</span>
<span class="pun">执行语句</span><span class="lit">2</span><span class="pun">……</span>
<span class="kwd">elif</span> <span class="pun">判断条件</span><span class="lit">3</span><span class="pun">:</span>
<span class="pun">执行语句</span><span class="lit">3</span><span class="pun">……</span>
<span class="kwd">else</span><span class="pun">:</span>
<span class="pun">执行语句</span><span class="lit">4</span><span class="pun">……</span>
其中if 语句的判断条件可以用>(大于)、
第2关:判断输入的年份是否是闰年
本关必读
闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份为闰年。闰年共有 366
天。
闰年的判断方法:
1、能够被400整除的,为闰年;
2、能够被4整除、但不能被100整除的,为闰年。
如2000年是闰年,而1900年不是。
2016年是闰年,而2017年不是。
任务说明
Python 编程中 if 语句用于控制程序的执行,基本形式为
<span class="kwd">if</span> <span class="pun">判断条件:</span>
<span class="pun">执行语句……</span>
<span class="kwd">else</span><span class="pun">:</span>
<span class="pun">执行语句……</span>
或者
<span class="kwd">if</span> <span class="pun">判断条件</span><span class="lit">1</span><span class="pun">:</span>
<span class="pun">执行语句</span><span class="lit">1</span><span class="pun">……</span>
<span class="kwd">elif</span> <span class="pun">判断条件</span><span class="lit">2</span><span class="pun">:</span>
<span class="pun">执行语句</span><span class="lit">2</span><span class="pun">……</span>
<span class="kwd">elif</span> <span class="pun">判断条件</span><span class="lit">3</span><span class="pun">:</span>
<span class="pun">执行语句</span><span class="lit">3</span><span class="pun">……</span>
<span class="kwd">else</span><span class="pun">:</span>
<span class="pun">执行语句</span><span class="lit">4</span><span class="pun">……</span>
注意:if-else语句后面的分号不要忘记了!!!
其中if 语句的判断条件可以用>(大于)、
第1关:列表及操作
任务描述
本关任务:学习列表的定义和表示,了解列表的相关操作。
相关知识
为了完成本关任务,你需要掌握:1.列表是什么,2.如何访问列表元素,3.对列表元素进行操作。
列表是什么
列表是最常用的 Python
数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
简单来说列表是由一系列元素按特定顺序排列组成。你可以创建包含字母表中所有字母/数字 0-9
或一些字符串的列表;可以将其他数据类型放入列表中,甚至可以将另一个列表放在列表中。
在 Python
中,用方括号 []
来表示列表,并用逗号来分隔其中的元素。
例如:
<span class="pun">>>></span><span class="pln">a </span><span class="pun">=</span> <span class="pun">[]</span> <span class="com">#创建一个空的列表 </span>
<span class="pun">>>></span><span class="pln">b </span><span class="pun">=</span> <span class="pun">[</span><span class="lit">1</span><span class="pun">,</span><span class="lit">2</span><span class="pun">,</span><span class="lit">3</span><span class="pun">,</span><span class="lit">4</span><span class="pun">]</span> <span class="com">#创建一个含数字的大小为 4 的列表 </span>
<span class="pun">>>></span><span class="pln">c </span><span class="pun">=</span> <span class="pun">[</span><span class="lit">1</span><span class="pun">,</span><span class="str">'a'</span><span class="pun">,</span><span class="lit">2</span><span class="pun">,</span><span class="str">'b'</span><span class="pun">,</span><span class="lit">3</span><span class="pun">,</span><span class="str">'c'</span><span class="pun">,</span><span class="lit">4</span><span class="pun">,</span><span class="str">'d'</span><span class="pun">]</span> <span class="com">#创建包含多种数据类型的列表 </span>
<span class="pun">>>></span><span class="pln">a </span><span class="pun">=</span> <span class="pun">[</span><span class="pln">b</span><span class="pun">,</span><span class="pln">c</span><span class="pun">]</span> <span class="com">#创建包含其他列表的列表 </span>
<span class="pun">>>></span><span class="kwd">print</span><span class="pun">(</span><span class="pln">a</span><span class="pun">)</span>
<span class="pun">[[</span><span class="lit">1</span><span class="pun">,</span><span class="lit">2</span><span class="pun">,</span><span class="lit">3</span><span class="pun">,</span><span class="lit">4</span><span class="pun">],[</span><span class="lit">1</span><span class="pun">,</span><span class="str">'a'</span><span class="pun">,</span><span class="lit">2</span><span class="pun">,</span><span class="str">'b'</span><span class="pun">,</span><span class="lit">3</span><span class="pun">,</span><span class="str">'c'</span><span class="pun">,</span><span class="lit">4</span><span class="pun">,</span><span class="str">'d'</span><span class="pun">]]</span>
如何访问列表中的元素
先可以考虑前面所学的字符串类型的数据访问,例如有一字符串:
"abcd"
如果我们需要看它的某个特定位置上的字符是什么,则只要知道它的索引位置就行了,索引位置如下图:
字符串 a b c d 索引 -> 0 1 2 3 索引
Original: https://www.cnblogs.com/huxiaoyao/p/15957327.html
Author: 狐小妖
Title: 头歌-python基本练习
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/603039/
转载文章受原作者版权保护。转载请注明原作者出处!