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): ...
随机推荐
- Cookie认证
Cookie认证 由于HTTP协议是无状态的,但对于认证来说,必然要通过一种机制来保存用户状态,而最常用,也最简单的就是Cookie了,它由浏览器自动保存并在发送请求时自动附加到请求头中.尽管在现代W ...
- 使用cp命令拷贝目录下指定文件外的其他文件
shopt -s extglob cp test/!(abc*) test2/ cp test目录下除了以abc开头的其他文件 如果是除去多个文件的话使用 !(a|b) ; 注意不要多加空 ...
- 对jvm虚拟机 内存溢出的思考
java内存溢出:当新产生对象时,新生代空间不够,导致无法申请到足够的空间,报内存溢出 内存泄漏:一些静态集合,静态常量没有被gc清理,越来越多,占用内存,最后导致无法申请到新的空间
- Mind must be master of the body, strong mind can separate the body from its suffering.
Mind must be master of the body, strong mind can separate the body from its suffering.意志是身体的主人,有顽强的意 ...
- 解决Mysql导入大数据出现gone away的问题
在用Mysql Yog或者PHPMyadmin等工具导入数据量大的sql文件时,会提示“gone away”,那么如何处理这个问题尼? 在Mysql对应的配置文件中my.ini文件中加入以下配置: # ...
- Layer:如何调用layer.open打开的的iframe窗口中的JS?
layer.open({type: 2,content: 'test/iframe.html',success: function(layero, index){ var body = layer.g ...
- Python2和Python3语法区别
1.使用for循环进行换行 python 2.x, print 不换行>>> print x, python 3.x print 不换行>>> print(x, e ...
- ASUS主板 Type C 接口无效问题
修改UEFI设置,把 USB TYPE C POWER SWITCH 改成启用
- 2019全套Java视频 免费赠送
本人今年刚看完这套课程找到工作了 待遇还不错 现在送给大家 网盘链接:https://pan.baidu.com/s/1cEK6WoXS4F9SRgj1bZclqg提取码:bjl8希望对大家有用 一起 ...
- Linux 、AIX环境下查看oracle配置信息(service_name、SID、tnsname)。
SID: echo $ORACLE_SID service_name: sqlplus / as sysdba; show parameter instance_name; show paramete ...