python简单试题4
( ps : 题目中用到的一些random函数在最后末尾处有介绍)
1,在屏幕上显示跑马灯文字
import os # 调用os模块
import time # 调用时间模块
def main():
content = '河南农大欢迎您!!!!' # 赋值字符串
while True:
os.system("cls") # os.system("clear") # 清屏操作
print(content)
time.sleep(0.2) # 延迟200毫秒
content = content[1:] + content[0] # 切片处理 if __name__ == '__main__': # 脚本运行程序
main()
2,设计验证码
import random # 调用随机数模块
def generate_code(code_len = 4):
all_chars = '0123456789abcdefjhijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
# all_chars = '今天是蓝桥杯国赛的日子'
# 可以自行设置你想要的字符
last_pos = len(all_chars) - 1 # 索引是从零开始的,故要将长度减一
code = ''
for _ in range(code_len): # 进行遍历循环
index = random.randint(0,last_pos) # 产生随机数字
code += all_chars[index] # 取出索引为index的字符
return code
print(generate_code())
3,求列表第一大和第二大元素
def max2(num):
m1,m2 = (num[0],num[1]) if num[0] > num[1] else (num[1],num[0])
# 判断 num[0] 和 num[1] 的大小,将大值赋值给m1
for i in range(2,len(num)): # 进行遍历
if num[i] > m2: # 判断是否大于m2
if num[i] > m1: # 判断是否大于m1
m1,m2 = num[i],m1 # 进行赋值操作
else :
m2 = num[i]
return m1,m2 # 返回一个元组
print(max2([1,5,3,6,9,15,5,2,3,-9,-8]))
4,计算指定的年月日是这一年的第几天
def is_leap_year(year): # 判断是否为闰年
flag = True if year % 4 == 0 and year % 100 != 0 or year % 400 == 0 else False
# 闰年判断方式:年份能被四整除而且不能被100整除,年份能被四百整除,两个条件符合其一都为闰年
return flag # 返回一个布尔值
def date(year,month,day):
day_sum = 0
date1 = [[31,28,31,30,31,30,31,31,30,31,30,31],[31,29,31,30,31,30,31,31,30,31,30,31]]
# 定义列表,分别为闰年,平年每个月多少天
for i in range(len(date1[is_leap_year(year)])): # 遍历 布尔值可以替换成0,1
if i < month-1: # 索引从0开始
day_sum += date1[is_leap_year(year)][i]
else:
day_sum += day
break
return day_sum
print(date(2019,5,25))
print(date(2019,2,1))
5,双色号选球问题
from random import randrange,randint,sample
# 导入random模块下的几个函数
def display(balls):
for index,ball in enumerate(balls):
# enumerate:给元素前加上索引构成每一个元素都是元组
if index == len(balls) - 1: # 判断是否为最后一个元素
print('|',end=" ")
print("%02d" % ball,end=' ') # %02d:输出整数类型,并以两位数输出,01,29,03
print() # 输出换行符 def random_select():
red_balls = [x for x in range(1,34)] # 生成一个列表
selected_balls = []
selected_balls = sample(red_balls,6) # 从red_balls中随机挑选六个元素并以列表的形式返回
selected_balls.sort() # 给列表进行排序
selected_balls.append(randint(1,16)) # 添加一个元素
return selected_balls
def main():
n = int(input("请下注:"))
for _ in range(n):
display(random_select()) if __name__ == "__main__":
main()
6,约瑟夫环问题
有15个基督徒和15个非基督徒在海上遇险,为了能让一部分人活下来不得不将
其中15个人扔到海里面去,有个人想了个办法就是大家围成一个圈,由某个人开
始从1报数,报到9的人就扔到海里面,他后面的人接着从1开始报数,报到9的人
继续扔到海里面,直到扔掉15个人。由于上帝的保佑,15个基督徒都幸免于难,问这
些人最开始是怎么站的,哪些位置是基督徒哪些位置是非基督徒。
def main():
person = [True] * 30 #生成一个列表,列表重含有三十个True 假定都为基督教人
index,count,number = 0,0,0 # 给index,count,number 赋值0
while count < 15:
if person[index] == True:
number += 1 #喊话数字加一
if number == 9: # 当数字为九时
person[index] = False # 此人为非基督教
count += 1 # 人数加一
number = 0 # 从新开始喊话
index += 1 # 无论是否为基督教信徒,索引值都要加一
index %= 30 # 索引值不可以超过29
for i in person:
print("基",end = ' ') if i else print("非",end = ' ') # 进行输出
if __name__ == "__main__":
main()
7,random模块简单介绍
import random
print(random.random()) #产生随机数,从0到1的浮点数
print(random.uniform(1,4)) # 产生从1到4的浮点数
print(random.randint(1,6)) #产生从1到6的浮点数
print(random.randrange(10,100,5)) # 从10到100中五的倍数的数字选出一个
print(random.choice([1,2,3,4,5,6])) # 从队列中选出一个元素
list1 = ['a','b','c','d','e','f','g','h']
random.shuffle(list1) # 将列表乱序排列
print(list1)
a = random.sample([12,3,4,4,5,6,6,67,7,7,56,6,6,6,6,6,6,6],5) # 从列表中选出五个元素组成列表返回
print(a)
试题来源于骆昊大神
python简单试题4的更多相关文章
- Python简单试题
1,相乘次数 题目要求描述: 一个整数每一位上的数字相乘,判断是否为个位数,若是则程序结束 ,不是则继续相乘,要求返回相乘次数. 例:39 > 3*9=27 > 2*7=14 > 1 ...
- Python简单试题3
1,水仙花数 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身 (例如:1^3 + 5^3+ 3^3 = 153) 代码如下: 方法一: for i in range(100, ...
- Python简单试题2
1,给定一组数据,将奇数进行从小到大排序,偶数在原位置不变 例: 原数据:[5, 3, 2, 8, 1, 4] 排序后:[5, 3, 2, 8, 1, 4] 若数组为空,则返回空数组. 代码如下: ...
- python简单面试题
在这个即将进入金9银10的跳槽季节的时候,肯定需要一波面试题了,安静总结了一些经常遇到的python面试题,让我们一起撸起来. python面试题 1.求出1-100之间的和 # coidng:utf ...
- python公司面试题集锦 python面试题大全
问题一:以下的代码的输出将是什么? 说出你的答案并解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Par ...
- 7.22 python面试题
2018-7-22 16:32:24 把面试题敲完了,,好强悍! Python 10期考试题 1.常用字符串格式化有那些?并说明他们的区别 # format 直接调用函数 # %s 语法塘 # %r ...
- Python面试题整理-更新中
几个链接: 编程零基础应当如何开始学习 Python ? - 路人甲的回答 网易云课堂上有哪些值得推荐的 Python 教程? - 路人甲的回答 怎么用最短时间高效而踏实地学习 Python? - 路 ...
- python 面试题4
Python面试题 基础篇 分类: Python2014-08-08 13:15 2071人阅读 评论(0) 收藏 举报 最近,整理了一些python常见的面试题目,语言是一种工具,但是多角度的了解工 ...
- 很全的 Python 面试题
很全的 Python 面试题 Python语言特性 1 Python的函数参数传递 看两个例子: Python 1 2 3 4 5 a = 1 def fun(a): ...
随机推荐
- log(A^B) = BlogA
令 x = logA, y = logB, z=log(AB) .2x = A, 2y = B, 2z = AB, 则有 2z = AB = (2x)^(2y) = 2x(2^y) ,有z = x*2 ...
- Oracle之rman数据库在非归档模式下的备份和恢复
1.数据库在非归档模式下的备份 SQL> archive log list;数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 ...
- C#中动态创建数据库和数据表,很经典【转】
用ADOX创建access数据库方法很简单,只需要new一个Catalog对象,然后调用它的Create方法就可以了,如下: ADOX.Catalog catalog = new Catalog(); ...
- ubuntu安装robo3t
直接在官网下载 解压文件(使用命令 tar -zxvf robo3t-1.2.1-linux-x86_64-3e50a65.tar.gz) 打开解压后的文件,进入bin文件,直接在终端运行 ./rob ...
- swagger + springboot
参考文章: https://blog.csdn.net/xupeng874395012/article/details/68946676/ https://blog.csdn.net/hry2015 ...
- Metasploitable渗透测试实战——Windows漏洞 MS08-067复现
Ms08-067 攻防环境: 攻击机:kali ip:198.168.12.212 靶机:Window XP 未打过ms08-067补丁 ip:198.168.12.209
- Project Euler 第一题效率分析
Project Euler: 欧拉计划是一系列挑战数学或者计算机编程问题,解决这些问题需要的不仅仅是数学功底. 启动这一项目的目的在于,为乐于探索的人提供一个钻研其他领域并且学习新知识的平台,将这一平 ...
- innobackupex实现对MySQL的增量备份与还原
备份增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --defaults-file=/etc/my.cnf --user root --password cheng ...
- 【CF1000C】Covered Points Count(离散化+差分)
点此看题面 大致题意: 给出\(n\)条线段,分别求有多少点被覆盖\(1\)次.\(2\)次...\(n\)次. 正常的算法 好吧,这道题目确实有个很简单的贪心做法(只可惜我做的时候没有想到,结果想了 ...
- 响应式网站布局要适应的当下主流手机屏幕的各个版本的分辨率有哪些(media query)
CSS宽有14种: 320.360.375.384.400.414.533.600.768.800.853.1024.1280.1366 CSS高有16种: 360.480.533.568.569.6 ...