写在前面
不知不觉已经进行到第十弹了(555),加油!
Python Round⑩
求最大值
data = eval(input("请输入一组数据,以逗号分隔:"))
print(max(data))
结巴分词
import jieba
s = "一件事情没有做过,就没有资格对此事发表看法"
ls = jieba.lcut(s)
print(ls)
输出时间
import time
t = time.localtime()
print(time.strftime("%Y年%m月%d日%H时%M分%S秒",t))
又接触到一个新的库:
time库是Python提供的处理时间的标准库
- localtime() 方法 获取的是当前时间截对应的struct_time对象
- strftime方法 是是时间格式化最有效的方法,几乎可以以任何通用格式输出时间,该方法第一个参数是输出的格式,第二个参数是时间戳。
需注意的是月(%m)和天(%d)所用的是小写!!
绘制菱形
for i in range(0,4):
for y in range(0,4-i):
print(" ",end="")
print("* "*i)
for i in range(0,4):
for y in range(0,i):
print(" ",end="")
print("* "*(4-i))
- 观察题目给的图形,可以知道菱形是规则图形,可以分成两部分编写代码,即两部分代码的逻辑思维是一样的。
- 图形由空格和星号组成,**所以每部分需要两个for循环,一个用来控制 * 的输出,一个是用来控制空格的输出。
- print() 输出函数默认格式为换行输出,所以需要使用参数end将本身自带的格式消除。
turtle 库
import turtle
from turtle import *
pensize(5)
for i in range(6):
fd(100)
right(60)
color("red")
circle(60,360,6)
# circle(60,steps=6)
circle() 函数绘制红色的圆内接正六边形,circle()函数一般有两个参数:
第一个参数为半径,第二个参数有两种形式:参数extent(角度)是指绘制弧形的角度,参数steps(n>=3)表示绘制圆内接n边形,这两个参数不能同时使用。
综合应用
import random
letter_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't',
'u', 'v', 'w', 'x', 'y', 'z']
letter = letter_list[random.randint(0, 25)]
count = 0
while True:
n = input("请输入你所猜的单词:")
if n == letter:
print("恭喜你猜对啦!")
break
else:
count += 1
if count == 5:
print("结果为{0}".format(letter))
break
完美实现答案要求:
参考答案:
import random
letter_list = ['a', 'b', 'c', 'd', 'e', 'f','g',
'h', 'i', 'j', 'k', 'l','m', 'n',
'o', 'p', 'q', 'r', 's', 't',
'u', 'v', 'w', 'x', 'y', 'z']
letter = letter_list[random.randint(0, 25)]
count = 0
while True:
letter_input = input('请输入26个小写英文字母中的任一个:')
count +=1
if letter_input not in letter_list:
print('请重新输入字母')
else:
if count > 5:
print('猜测超过5次,答题失败')
break
else:
if letter_input == letter:
print('恭喜你答对了,总共猜了{}次'.format(count))
break
elif letter_input > letter:
print('你输入的字母排在该字母之后')
elif letter_input < letter:
print('你输入的字母排在该字母之前')
else:
print('未知错误')