Python(学习记录一)Python 100days

练习1:将华氏温度转换为摄氏温度
F = 1.8C + 32

f=float(input("华氏摄氏度:"))
c=(f-32)/1.8
print("%.1f华氏摄氏度=%.1f摄氏度"%(f,c))

练习2:输入圆的半径计算计算周长和面积。

r=float(input("输入圆的半径:"))
PI=3.14
c=2*PI*r
s=PI*r*r
print("周长=%.1f\n面积=%.1f"%(c,s))

练习3:输入年份判断是不是闰年。

year=int(input("输入年份:"))
is_flag=(year%4==0and year%400!=0 or year%400==0)
print(is_flag)

分支结构

if、elif 和 else关键字
练习1:英制单位与公制单位互换

v=float(input("输入值:"))
c=str(input("输入单位:"))
if c=='inch'or c=='英寸':
    print('%.1f英寸=%.1f'%(v,v*2.54))
elif c=='cm'or c=='厘米':
    print("%.1f厘米=%.1f英寸"%(v,v/2.54))
else:
    print("请输入有效的数值")

练习2:掷骰子决定做什么

from random import randint
face = randint(1,6)
if face==1:
    print("sing")
elif face==2:
    print("dance")
elif face==3:
    print("eat")
elif face==4:
    print("tractor")
elif face==5:
    print("liar")
else:
    print("dog")

练习3:百分制成绩转等级制

score=float(input("输入成绩:"))
if score>=90:
    grad='A'
elif score >= 80:
    grad = 'A'
elif score>=70:
    grad='C'
elif score>=60:
    grad='D'
else:
    grad='E'
print("你的等级是:",grad)

循环结构

一种是for-in循环,一种是while循环。

for-in 循环

知道循环执行的次数或者对一个容器进行迭代。

1~100求和。

sum=0  #对sum进行初始化
for n in range(101):
    sum+=n

print(sum)

要说明的是上面代码中的range类型,range可以用来产生一个不变的数值序列,而且这个序列通常都是用在循环中的,例如:

range(101)可以产生一个0100的整数序列。
range(1, 100)可以产生一个199的整数序列。
range(1, 100, 2)可以产生一个199的奇数序列,其中的2是步长,即数值序列的增量。

1~100偶数和。

sum=0;
for a in range(2,101,2):
    sum+=a
print(sum)

while循环

如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环,while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束

猜数字游戏
计算机出一个1~100之间的随机数由人来猜

import random

answer=random.randint(1,101)
counter=0#计数
while True:
    counter+=1
    number=int(input("输入1~100的数字:"))
    if number>answer:
        print("猜大了")
    elif number<answer:
        print("猜小了")
    else:
        print("猜对了")
        break
if counter>=7:
    print("你的智商余额不足。")

练习1:输入一个数判断是不是素数。

from math import sqrt

number=int(input("请输入一个正整数:"))
n=int(sqrt(number))
is_prime=True
for x in range(2,n + 1):
   if number%x==0:
       is_prime=False
       break
if is_prime and number!=1:
    print("是素数")
else:
    print('不是素数')

练习2:输入两个正整数,计算最大公约数和最小公倍数。

x=int(input("x="))
y=int(input("y="))
if x>y:
    (x,y)=(y,x)
for f in range(x,0,-1):
    if x%f==0 and y%f==0:
        break
print("最大公约数:%d"%f)
print("最小公倍数:%d"%(x*y//f))

练习3:打印三角形图案。

row = int(input('请输入行数: '))
for i in range(row):
    for _ in range(i + 1):
        print('*', end='')
    print()


for i in range(row):
    for j in range(row):
        if j < row - i - 1:
            print(' ', end='')
        else:
            print('*', end='')
    print()

for i in range(row):
    for _ in range(row - i - 1):
        print(' ', end='')
    for _ in range(2 * i + 1):
        print('*', end='')
    print()

print() 换行
end=’ ’ 结尾空格不换行

你可能感兴趣的:(Python,练习,结构)