python3 用10进制的思维做16进制数据递增

Python012

python3 用10进制的思维做16进制数据递增,第1张

# 记录思维:用10进制递增后,用hex()转16进制保存;

# 若起始值是16进制,可以先转10进制递增后,再转回16进制

initA =0

for iin range(251):

    initA = initA+1

    b =hex(initA).upper()

 #  逐个写入excel表,excel表创建、写数据、保存,见 https://www.jianshu.com/p/17f96366a25c

    data_sheet.cell(column=1,row=i+2,value=b)   

 #  也可以保存在list

# 问题:在2个16进制数之间递增:

# 1、只需将值视为整数

start=0x30D681    # hex literal, gives us a regular integer

end =0x3227FF

# 2、如果开始值和结束值是以十六进制字符串形式输入的,请先使用int(hexvalue, 16)将它们转换为整数

start =int('30D681',16)

end =int('3227FF',16)

# 使用format(value, 'X')将其显示为十六进制

for i in range(start, end +1):

     print(format(i,'X'))

具体代码如下:

>>>num = int(input("请输入一个正整数:"))

请输入一个正整数:11

>>>even = [i for i in range(0,num+1) if i % 2 == 1][::-1]

>>>even

[11, 9, 7, 5, 3, 1]

>>>odd = [i for i in range(0,num+1) if i % 2 == 0]

>>>odd

[0, 2, 4, 6, 8, 10]

如有帮助请采纳!!!

你这就是把null直接插入了啊,数据类型不对,数据库当然会报错。如果你在数据库表的id设定的是自增长的,插入的sql里面去掉id这个字段试试。数据库会自己给这个字段赋值的。如果是oracle数据库,需要使用sequence.nextvalue给id赋值,也不是像你这样插入个null进去。