Python语法练习

输入3个整数,找到最大那个数

a = int(input('请输入第一个数'))
b = int(input('请输入第二个数'))
c = int(input('请输入第三个数'))
my_max = 0 
if a >= b:
    my_max = a
else:
    my_max = b
if c >= my_max:
    my_max = c
print('最大的数为',my_max)
a = int(input('a = '))
b = int(input('b = '))
c = int(input('c = '))
my_max = a > b and a or b  #三元条件运算符 如果a 大于 b  取a  ,如果 b 大于 a 取b
my_max = my_max > c and my_max or c
print(my_max)

输入三个数,按照从小到大的顺序输出

a = int(input('a = '))
b = int(input('b = '))
c = int(input('c = '))
x = 0
if a > b:
    x = a
    a = b
    b = x
if a > c:
    x = a
    a = c
    c = x
if b > c:
    x = b
    b = c
    c = x
print(a,b,c)
    
a = int(input('a = '))
b = int(input('b = '))
c = int(input('c = '))
if a > b:
    a, b = b, a # 交换a和b的值,元组
if b > c:
    b, c = c, b
if a > b:
    a, b = b, a
print(a,b,c)
a = int(input('a = '))
b = int(input('b = '))
c = int(input('c = '))
(a, b )= a > b and (b, a) or (a, b)#存在优先级问题,故加括号
(b, c) = b > c and (c, b) or (b, c)
(a, b) = a > b and (b, a) or (a, b)
print(a,b,c)

输入一 个正整数,判定是否是素数(只能被1和本身整除)

s = int(input('请输入一个正整数'))
i = 1
while i < s: 
    i += 1

    if i == (s - 1) or s == 2:
        print('输入的数是素数')
        break
    if s % i == 0:
        print('输入的数不是素数')
        break
    
    
   
from math import sqrt
s = int(input('请输入一个正整数'))
is_prime = True
for factor in range(2,int(sqrt(s)) +1):
    if s % factor == 0:
        is_prime = False
        break
if is_prime:
    print('%d是素数'%(s))
else:
    print('%d不是素数'%(s))

乘法口诀表

for row in range(1,10):
    for col in range(1,row + 1):#嵌套循环
        print('%d * %d = %d'%(row,col,row * col),end ='\t')# 'end=''终止符不是换行,连着输出,、\t 缩进4格 end定义终止符,sep定义分割符
    print()
         
'''
*
**
***
1
12
123
A
AB
ABC
打印出来

'''
for num in range(1,6):
    print('*' * num)
for h in range(1,5):
    for l in range(1,h + 1):
        print(l,end = '')
    print()
print(chr(65))     #ASCII码 对应的字符
print(chr(1235))
print(ord('唐'))
print(ord('王'),ord('星'),ord('喆'))#返回对应的 ASCII码值
print(ord('果'))
for row in range(1,6):
    for col in range(1,row + 1):
        print(chr(col + 64),end = '')
    print()
    

一个有桃子的猴子,不知道桃子的总数,每天吃一半,加1的桃子,第十天发现就剩1个桃子

total = 1
for _ in range(1,10):
    total = (total + 1) * 2
print(total)

100元买鸡,公鸡 5元一只 ,母鸡 3元一只 ,小鸡 1 元买3只 用一百元买一百只鸡 ,公鸡母鸡小鸡各多少只 x + y + z == 100 5 * x + 3 * y + z // 3 == 100 z % 3 == 0 穷举法

for x in range(21):
    for y in range(34):
        for z in range(0,100,3):
            if x + y + z == 100 and 5 * x + 3 * y + z // 3 == 100:
                print(x,y,z)
for x in range(21):
    for y in range(34):
        z = 100 - x -y
        if z % 3 == 0 and 5 * x + 3 * y + z // 3 == 100:
             print(x,y,z)
print(0.1 + 0.2 + 0.3)
print(0.3 + 0.2 + 0.1)
#提示:由于浮点数表示发的的问题
# 在实际开发的过程中请不要做浮点数的==和!= 运算
#因为结果可能跟预期的完全不一样 - 神坑
if 0.1 + 0.2 + 0.3 == 0.3 + 0.2 + 0.1:
    print('ok')
else:
    print('bad')

 

  1. 2-100 以内的素数打印出来
is_prime = True
for x in range(2,101):
    for j in range(2,x):
        if x % j == 0:
            is_prime = False
            break
    if is_prime:
        print(x,end = '、')
    is_prime = True
        
            
        
            
'''
2.打印出
    *
   **
  ***
 ****
*****
   *
  ***
 *****
******* 
A
BB
CCC
DDDD




'''
for row in range(5):
    print(' ' * (5 - row),end = '')
    for col in range(row + 1):
        print( '*',end = '')
    print()
*
    **
   ***
  ****
 *****
for row in range(4):
    print(' ' * (4 - row),end = '')
    for col in range(2 * row + 1):
        print('*',end = '')
    print()
*
   ***
  *****
 *******
for row in range(4):
    for col in range(row + 1):
        print (chr(65 + row),end = '')
    print()
A
BB
CCC
DDDD

3 . 有五个人,晚上去捕鱼,A醒来 把鱼分成五分,剩一条,扔掉,并拿走属于自己的那一份,每人都这么干的,问最少捕了多少条鱼

total = 0
is_prime = True
while is_prime:
    total += 1
    x = total
    is_prime2 = True
    
    for _ in range(5):
        if (x- 1) % 5 == 0: 
            x= x- 1 -((x- 1) / 5)
            
        else:
            is_prime2 = False
            break
    if is_prime2 :
        is_prime = False
        print('最少捕到了%d 条鱼'%(total))


最少捕到了3121 条鱼
  1. 水仙花数 100至999之间全部找出来 153 = 1 ** 3 + 5 ** 3 + 3 ** 3
for x in range(100,1000):
    a = x // 100
    b = x % 100 // 10
    c = x % 10
    
    if a ** 3 + b ** 3 + c ** 3 == x:
        print(x)
153
370
371
407
  1. 找出一万以内的完美数 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14

for num in range(1,10000):
    my_sum = 0
    for x in range(1,num):
        if num % x == 0:
            my_sum += x
    if my_sum == num:
        print(num)
6
28
496
8128
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值