当前位置:   article > 正文

百钱买百鸡python编程代码,python计算百钱买百鸡_python百钱买百鸡问题代码

python百钱买百鸡问题代码

这篇文章主要介绍了python123百钱买百鸡从小到大排序,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

一、百钱百鸡问题

题目:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡、母鸡、小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。

代码如下:

  1. for i in range(1,20): #i是公鸡的数量
  2. for j in range(1,33): #j是母鸡的数量
  3. z=100-(i+j) #z是小鸡的数量
  4. if z%3==0 and i*5+j*3+z/3==100:
  5. print(f'公鸡:{i}只 母鸡:{j}只 小鸡:{z}只')

运行结果

二、求最大公倍数和最小公约数

1、求最大公约数的方法:辗转相除法

辗转相除法, 又名欧几里得算法(Euclidean algorithm),是求最大公约数的一种方法python小作品教学。它的具体做法是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。

举例:求2和9的最小公约数

注意:两数乘积=两数的最大公因数×两数的最小公倍数

2、具体代码

代码逻辑:用户输入两个数,将这两个数放到一个列表中并从小到大排序,然后用列表中的最大的数li[1]除以最小的数li[0],等到的余数保存在x临时变量中,接着将li[0]的值赋值给li[1],x的值赋值给li[0],一直循环操作,直到余数为0时结束。

  1. a,b=map(int,input('请输入两个数:').split())
  2. c,d=a,b
  3. li=[a,b]
  4. li.sort()
  5. while a!=0 and b!=0:
  6. x=li[1]%li[0]
  7. li[1]=li[0]
  8. li[0]=x
  9. if li[0]==0: #如果余数为零,则输出结果,跳出循环
  10. print(f'最大公约数:{li[1]}')
  11. print(f'最小公倍数:{(c*d)/li[1]}')
  12. break

三、判断回文数 

代码逻辑:用户输入,通过if not num.isdigit()语句判断输入的是否是数字,如果不是数字则通过raise Exception()抛出异常,如果是则判断倒叙和正叙是否相同,如果相同则输出是回文数,如果不相同则输出不是回文数。

  1. def Palindrome_number():
  2. num=input('请输入数字:')
  3. if not num.isdigit():
  4. raise Exception('输入错误哦!请输入数字!')
  5. if num==num[::-1]:
  6. print(f'{num}是回文数')
  7. else:
  8. print(f'{num}不是回文数')
  9. try:
  10. print(Palindrome_number())
  11. except Exception as e:
  12. print(e)

文章知识点与官方知识档案匹配,可进一步学习相关知识
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/414395
推荐阅读
相关标签
  

闽ICP备14008679号