中国最大的中文网站,企业主页的特点包括,想做电商怎么入手,如何写好网站建设方案逛网站时无意间看到一道测试题#xff0c;看到这标题我吓到了(最难面试IT公司)#xff0c;本以为应该很难完成的#xff0c;分析之后#xff0c;花了半小时用python写出来了#xff0c;各位朋友们也可以测试测试哦。不限语言。这是题目发布网址#xff1a;https://www.ji…逛网站时无意间看到一道测试题看到这标题我吓到了(最难面试IT公司)本以为应该很难完成的分析之后花了半小时用python写出来了各位朋友们也可以测试测试哦。不限语言。这是题目发布网址https://www.jinshuju.net/f/EGQL3D题如下问题你是一名体育老师在某次课距离下课还有五分钟时你决定搞一个游戏。此时有100名学生在上课。游戏的规则是1. 你首先说出三个不同的特殊数要求必须是个位数比如3、5、7。2. 让所有学生拍成一队然后按顺序报数。3. 学生报数时如果所报数字是第一个特殊数3的倍数那么不能说该数字而要说Fizz如果所报数字是第二个特殊数5的倍数那么要说Buzz如果所报数字是第三个特殊数7的倍数那么要说Whizz。4. 学生报数时如果所报数字同时是两个特殊数的倍数情况下也要特殊处理比如第一个特殊数和第二个特殊数的倍数那么不能说该数字而是要说FizzBuzz, 以此类推。如果同时是三个特殊数的倍数那么要说FizzBuzzWhizz。5. 学生报数时如果所报数字包含了第一个特殊数那么也不能说该数字而是要说相应的单词比如本例中第一个特殊数是3那么要报13的同学应该说Fizz。如果数字中包含了第一个特殊数那么忽略规则3和规则4比如要报35的同学只报Fizz不报BuzzWhizz。现在我们需要你完成一个程序来模拟这个游戏它首先接受3个特殊数然后输出100名学生应该报数的数或单词。比如输入3,5,7输出片段12Fizz4BuzzFizzWhizz8FizzBuzz11FizzFizzWhizzFizzBuzz1617Fizz19Buzz …一直到100分析程序获取3个个位数特殊值然后循环从1说到100如满足问题中与特殊值的关系则按指定的输出。对于上述问题描述中的关系优先级分析如下1、如果数中包含了第一个数忽略其它规则。说:Fizz2、如同时是三个数的倍数说FizzBuzzWhizz3、所报数字同时是两个特殊数倍数即第1、2个数的倍数说FizzBuzz第1、3个数的倍数说FizzWhizz 第2、3个数的倍数说BuzzWhizz4、所报数是第一个数的倍数说Fizz5、所报数是第二个数的倍数说Buzz6、所报数是第三个数的倍数说Whizz7、如上面都不是说当前数字解题代码#!/usr/bin/python
#authon:yangrong
#date:2014-04-29
#mail:10286460qq.com
try:numraw_input(Please input three digit,and numbers less than 10,Example input:3,5,7 \ninput:).split(,)if 1int(num[0])10 and 1int(num[1])10 and1int(num[2])10:passelse: raise IdexErrorfor i in range(1,101):if num[0] in str(i):printFizzelif i%int(num[0])0 and i%int(num[1])0 and i%int(num[2])0 :print FizzBuzzWhizzelif i%int(num[0])0 andi%int(num[1])0:print FizzBuzzelif i%int(num[1])0 andi%int(num[2])0:print BuzzWhizzelif i%int(num[0])0 andi%int(num[2])0:print FizzWhizzelif i%int(num[0])0:printFizzelif i%int(num[1])0:printBuzzelif i%int(num[2])0:printWhizeelse:print i
except:print Please input three digit,and numbers less than 10. Example: 3,5,7执行效果如果输入的数值不是3个个位数则提示并退出如下面两次测试。rootyangrong:/python# python Test.py Please input three digit,and numbers lessthan 10, Example input:3,5,7 input: a,b,cPlease input three digit,and numbers lessthan 10. Example: 3,5,7 rootyangrong:/python# python Test.py Please input three digit,and numbers lessthan 10, Example input:3,5,7 input: 1,2,100Please input three digit,and numbers lessthan 10. Example: 3,5,7 输入正确的数值执行效果rootyangrong:/python# python Test.py Please input three digit,and numbers lessthan 10, Example input:3,5,7 input: 3,5,712Fizz4BuzzFizzWhize8FizzBuzz11FizzFizzWhizeFizzBuzz1617Fizz19BuzzFizzWhizz22FizzFizzBuzz26FizzWhize29FizzFizzFizzFizzFizzFizzFizzFizzFizzFizzBuzz41FizzWhizzFizz44FizzBuzz4647FizzWhizeBuzzFizz52FizzFizzBuzzWhizeFizz5859FizzBuzz6162Fizz64BuzzFizz6768FizzBuzzWhizz71FizzFizz74FizzBuzz76WhizeFizz79BuzzFizz82FizzFizzWhizzBuzz86Fizz8889FizzBuzzWhize92Fizz94BuzzFizz97WhizeFizzBuzz写完之后发现代码非常凌乱一开始用了好多的循环完成了功能后来思考之后把那些循环去掉换成elif来写的。代码简洁了一半。正如这道题要求所说:即使简单的代码做到尽善尽美一样难能可贵所以提交之前请想一想它是不是可以更卓越。