python基础数据类型&循环练习题

数据类型_非序列/字典

1.数值类型
整数、浮点数、复数,进制数
基本运算:
+、-、*、/、//、%、divmod(x,y)、**
pow():求幂,pow(2,3)=8
abs():绝对值
round():四舍五入
int():取整,只保留整数部分
float():转换成浮点数
oct():十进制转成八进制
hex():十进制转成十六进制
bin():十进制转成二进制
int(x,base=10):转十进制
divmod(x,y)–> x//y,x%y
整数和浮点数运算,结果是浮点数
/:真除法,结果是浮点数
//:整除法,也叫floor除法,结果是整数(去掉除法运算后的小数位,不四舍五入)
判断浮点数是否是整数:

import math
a=3.0
print(a.is_integer()) #->True

2、布尔类型
True&False
0为假,非0为真
空为假,非空为真
空字符串,空列表,空元祖等都是假值
None为假
Python中任何一个数据对象,要么是True,要么是False
bool()函数测试数据对象或表达式是True还是False

bool(2) #True
bool(0) #False

3、None
一种特殊的数据对象,在内存中有自己的内存地址,且全局只有一个None对象

运算


1、逻辑运算
and,or,not
and和or,从左到右运算符号返回参与比较的表达式的最终运算结果,不是返回True或false
and:如果所有表达式为真,则返回最后一个表达式; 否则返回第一个假值
or:如果有一个为真,则立刻返回该值;否则,返回最后一个表达式

print(2 and 3)#-->3

在这里插入图片描述
在这里插入图片描述

and、or进行赋值操作

a= a or 'hhhh'  #如果a为真,则a不变;否则,a就赋值为'hhhh'
A= x or y or z  #如果x为真,则A=x;否则判断y,如果y为真,则A=y;否则A=z 
# x y z是值或表达式

2、not运算
真假取反,返回True/False
3、比较运算
同类型、内置类型(字典除外)比较大小
[1,2,[3,4]]>[1,2,[3,3]]#从左开始,一个一个元素向后比较,如果中级有嵌套,也会递归到内层结构去一个个比较
None对象只能参与等值或不等值比较,如if a is None
支持连续比较,a>b>c
12<3 #等价于12 and 2<3
4、is和==
==或!=:比较数值
is:比较的是内存地址

练习题


1、输入一个正整数 判断是几位数 并依次打印 个位 十位 百位

a = input()
b = len(a)
a=int(a)
for i in range(b):    
    n=a%10
    a=a//10
    print(n)
print('{}位数'.format(b))

2、输入一个正整数 判断是几位数 并依次打印万位 千位 百位

a = input()
b = len(a)
#print(a)
a=int(a)
for i in range(b):
    m=a//10**(b-i-1)
    n=a%10**(b-i-1)
    a=n
    print(m)
print('{}位数'.format(b))

3、求100以内所有奇数的和

sum=0
for i in range(1,100,2):
    sum +=i
print(sum)

4、判断学生成绩

score=int(input())
if score>=0 and score<=100:
    if score>=90:
        print('A')
    elif score>=80:
        print('B')
    elif score>=70:
        print('C')
    elif score>=60:
        print('D')
    else:
        print('E')
else:
    print('请输入合法数字')

5、求1到5阶乘之和

sum=0
fac=1
for i in range(1,6):
        fac*=i
        sum+=fac
print(sum)

6、给一个半径,求圆的面积和周长

R=float(input())
R=int(R)  #a='3.5'  不能直接将浮点的字符串转换成int,只能先转换成float 再转换成int
square=(R**2)*3.14
line=2*3.14*R
print(square,line)
print(int(a))

7、请输入若干个整数,打印出最大值

max=0
while True:
    m=input()
    if m:   #判断m是不是空(目前只做这个校验)
        m=int(m)
        if m>max:
            max=m
        print(max)
    else:
        print('输入不合法,请重新输入')
        break

8、请输入若干个整数 求平均值

sum=0
count=0
while True:
    m=input()
    if m:
        m=int(m)
        sum+=m
        count+=1
        avg=sum/count
        print(sum,count,avg)
    else:
        print('输入不合法')
        break
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值