Python简单试题3
1,水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
(例如:1^3 + 5^3+ 3^3 = 153) 代码如下:
方法一:
for i in range(100,1000): # 进行for循环
num = i
a = num % 10 # 取出个位数
num = num // 10 # 向下整除
b = num % 10 # 取出十位数
num = num // 10
c = num % 10
num = num // 10
if a ** 3 + b ** 3 + c ** 3 == i: # 根据条件进行判断
print(i)
方法二:
def flower_number1(num):
length = len(str(num)) # 求出参数共有几位
count = length
sum = 0
while count: # 进行循环
sum += (num // 10 ** (count - 1) % 10) ** length
# 运算符幂的优先级比乘除高,下边式子与上边式子相同
# sum += (num // (10 ** (count - 1))% 10) ** length
count -= 1
if sum == num:
return True
else:
return False
方法三:
def flower_number2(num):
str1 = str(num) # 赋值生成一个新的字符串
count = len(str1) # 计算出字符串的长度
length = count
sum = 0
while count:
sum += int(str1[count-1]) ** length
# 取出字符串的第几位数,相当于num 的个位,十位,,在进行乘方运算
count -= 1
if sum == num:
return True
else:
return False
2,完美数
找出1~9999之间的所有完美数
完美数是除自身外其他所有因子的和正好等于这个数本身的数
例如: 6 = 1 + 2 + 3, 28 = 1 + 2 + 4 + 7 + 14
import math # 导入数学模块
for i in range(1,10000): # 循环
sum = 0
for j in range(1,int(math.sqrt(i)) + 1): # math.sqrt()为开平方。
# print(j)
if i % j == 0: # 判断是否为因数
sum = sum + j
if j != 1 and i / j != j: # 因数为自身时不能加,因数两个相同时只能加一个
sum += i / j
if sum == i:
print(i)
3,百鸡百钱
1只公鸡5元 1只母鸡3元 3只小鸡1元 用100元买100只鸡
问公鸡 母鸡 小鸡各有多少只
for cock in range(21): # 公鸡最多有二十只
for hen in range(34): # 母鸡最多有三十三只
chick = 100 - cock - hen # 算出小鸡的数量
if cock * 5 + hen * 3 + chick / 3 == 100: # 买鸡共花费多少钱
print("公鸡:%d,母鸡:%d,小鸡:%d"%(cock,hen,chick))
4,斐波那锲数列
输出斐波那锲数列的前一百个数
0,1,1,2,3,f(n) = f(n-1) + f(n-2)
a = 1
b = 0
print(b) #输出第一个数
for _ in range(99): # 进行九十九次循环
b,a = a,a+b # 交换两数的顺序
print(a)
5,回文数
判断输入的正整数是不是回文数
回文数是指将一个正整数从左往右排列和从右往左排列值一样的数
num = input("请输入一个数字:") # 输入一个数字
str1 = num # num为字符串形式
length = len(str1) # 求出字符串的长度
count = length // 2 # 向下整除法
flag = True # 设置一个标志位
for i in range(count):
if str1[i] != str1[length-i-1]: # 进行判断是否相同
flag = False
break
if flag:
print("%d 是回文数"%num)
else:
print("%d 不是回文数" % num)
6,Craps赌博游戏
玩家摇两颗色子 如果第一次摇出7点或11点 玩家胜
如果摇出2点 3点 12点 庄家胜 其他情况游戏继续
玩家再次要色子 如果摇出7点 庄家胜
如果摇出第一次摇的点数 玩家胜
否则游戏继续 玩家继续摇色子
玩家进入游戏时有1000元的赌注 全部输光游戏结束
from random import randint # 导入随机数模块
money = 1000 # 你一共有1000元钱
while money > 0: # 若有钱则可以继续玩
while True:
stake = int(input("请下注:"))
if stake > 0 and stake <= money: # 若输入不正确重新输入,直到正确为止
break
flag = False # 设置标志位,进行判断
dice1 = randint(1,6) + randint(1,6) # 进行摇骰子
print("玩家第一次摇出的点数是:%d"%dice1)
if dice1 == 2 or dice1 == 3 or dice1 == 12 :
print("庄家胜")
money -= stake # 庄家胜,玩家输钱
print("余额为:%d"%money)
elif dice1 == 7 or dice1 == 11:
print("玩家胜")
money += stake # 玩家胜,庄家赔钱
print("余额为:%d" % money)
else:
flag = True # 游戏继续,平局
while flag:
print("玩家再次摇色子")
dice2 = randint(1,6) + randint(1,6) # 再次摇色子
print("玩家第二次摇出的点数是:%d"%dice2)
if dice2 == dice1:
print("玩家胜")
money += stake
flag = False
print("余额为:%d" % money)
else:
print("游戏继续")
flag = False
print("余额为:%d" % money)
print("你可以走了")
Python简单试题3的更多相关文章
- python简单试题4
( ps : 题目中用到的一些random函数在最后末尾处有介绍) 1,在屏幕上显示跑马灯文字 import os # 调用os模块 import time # 调用时间模块 def main(): ...
- Python简单试题
1,相乘次数 题目要求描述: 一个整数每一位上的数字相乘,判断是否为个位数,若是则程序结束 ,不是则继续相乘,要求返回相乘次数. 例:39 > 3*9=27 > 2*7=14 > 1 ...
- 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): ...
随机推荐
- [Java]LinkedHashMap实现原理
1.概述 在理解了#7 介绍的HashMap后,我们来学习LinkedHashMap的工作原理及实现.首先还是类似的,我们写一个简单的LinkedHashMap的程序: LinkedHashMap&l ...
- 063 Unique Paths II 不同路径 II
这是“不同路径” 的进阶问题:现在考虑网格中有障碍物.那样将会有多少条不同的路径从左上角到右下角?网格中的障碍物和空位置分别用 1 和 0 来表示.例如,如下所示在 3x3 的网格中有一个障碍物.[ ...
- (转)Module ngx_http_fastcgi_module
Example ConfigurationDirectives fastcgi_bind fastcgi_buffer_size fastcgi_buffering f ...
- (转)linux traceroute命令参数及用法详解--linux跟踪路由命令
linux traceroute命令参数及用法详解--linux跟踪路由命令 原文:http://blog.csdn.net/liyuan_669/article/details/25362505 通 ...
- 单台服务器最大tcp连接
如果对服务器进行压力测试,常常出现这种情况 tcp连接数过多 netstat -an windows查看tcp连接数 那么怎么增加单台服务器的最大连接数呢? 最简单的办法,增加内 ...
- .NET资源站点汇总~
名称:快速入门地址:http://chs.gotdotnet.com/quickstart/描述:本站点是微软.NET技术的快速入门网站,我们不必再安装.NET Framework中的快速入门示例程序 ...
- html学习笔记-XML-Javascript
html学习笔记-XML-Javascript Table of Contents 1. XML HTTP Request 1.1. XMLHttpRequest 对象 1.2. 创建 XMLHttp ...
- Mysql有什么办法批量去掉某个字段字符中的空格
Mysql有什么办法批量去掉某个字段字符中的空格?不仅是字符串前后的空格,还包含字符串中间的空格,答案是 replace,使用mysql自带的 replace 函数,另外还有个 trim 函数. ...
- require.js 模块化简单理解
组件化 基于UI 样式布局 没有过多 js 代码操作的 比如:一个导航栏 一个表单 一个搜索框 一个侧边栏 一个html 等等.... 模块化 基于功能模块 一个可以替换的js部分称之为模块(modu ...
- 行框基线位置确定(line box 基线)
在设置vertical-align属性(只有inline元素有效,对inline-block和block元素无效)时有一个属性值:baseline,那么这个基线是什么,怎么确定. 这个基线就是其所在行 ...