小北要努力 发表于 2021-7-30 11:48:41

设计求最小值程序的时候,输入的十位数如何不被拆分成个位数进行比较

程序如下:
temp=input("请输入五个数字:")
tuple1=tuple(temp)
print(tuple1)
min0 = tuple1
for i in tuple1:
    if i<min0:
      min0=i
print(min0)
运行后发现,输入的数字不可以用空格或者逗号隔开,必须连在一起,然后tuple会把每一位单独出来进行比较,求最小值的程序没有问题
想知道怎样做才可以输入十位数不被拆开当作个位数去比,
这个是我运行结果:
请输入五个数字:24567
('2', '4', '5', '6', '7')
2
我想比较 21 45 3 0 98的话就没有办法 怎么做呢?
谢谢大佬

2012277033 发表于 2021-7-30 12:00:19

你这里直接将输入的字符串转成元组类型了,建议用split
比如这样就可以通过空格来分割字符串了:
nums = temp.split(' ')

而且建议通过isnumeric来判断是否为数字比如
for num in nums:
    if num.isnumeric() and int(num)<min0:
      min0=int(num)

小北要努力 发表于 2021-7-30 12:23:19

2012277033 发表于 2021-7-30 12:00
你这里直接将输入的字符串转成元组类型了,建议用split
比如这样就可以通过空格来分割字符串了:



谢谢大佬
页: [1]
查看完整版本: 设计求最小值程序的时候,输入的十位数如何不被拆分成个位数进行比较