python笔记:range()的数据类型 & Center()和format()搭配的效果

本文探讨了Python中range()函数对于数据类型的要求,并通过示例代码解释了为什么需要使用整数类型作为参数。同时,文章还介绍了如何修复常见的错误,并提出关于字符串格式化的疑问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Range()函数的数据类型

运行这个代码,range()函数这里出错

a = input()
b = (int(a)+1)/2

for i in range(b):
    c='*'*(1+2*i)
    i +=1
    print('{}'.format(c).center(int(a)))

分析:range()函数只有一个参数的情况下,必须使用int、整数类型。

  • eval()函数的话,可以将str转为int,所以range()可以运行;
  • int()得到的是int,经过运算后数据类型变为float,所以range()不能运行。

验证如下:

>>> a = input()       # 随便输入一个整数
>>> b = (int(a)+1)/2
>>> d = int(b)
>>> 
>>> print(type(a))
>>> print(type(b))
>>> print(type(d))

<class 'str'>
<class 'float'>
<class 'int'>
>>> 

正确的应该是把 range()修改为:

a = input()
b = (int(a)+1)/2

for i in range(int(b)):

  • 但是不知道怎么使用“^”来替换format里的center()的结果居中排列,
  • 待大神指教。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值