今天這第2次做這個道題,發現了原來寫題的乙個錯誤點。但也是今天到現在1個小時了還沒有分析明白的核心。怎麼去判定被輸入的數不是16位,比如例題中你書g系統提示你invalid input。
下面這三行是指考慮輸入乙個十六進製制字元然後顯示十進位制整數。
number = input("enter a hex character: ")
numberhex = int(number, base=16)
print(f"the decimal value is ")
然後接下來。不是16進製制的字元輸入就出invalid
input這個點,就開始新崩潰了。
首先我用的是pycharm這個軟體。當我輸入g或者g的時候
系統會自動提示下列語句。
traceback (most
recent call last):
file "f:/learnpython/untitled/04-00
test.py", line 604, in
if int(number, base=16) == true:
valueerror:
invalid literal for int() with base 16: 'g'
** 這裡說明一下。我是40多道題寫在乙個程式裡所以行數比較多。大家別誤會
我現在就卡在這裡了。我怎麼判斷呢。或者怎麼告訴系統g或者g不是16進製制的。然後這個系統提示由我這邊執行。不用你這邊給我做。
1、 怎麼判斷。其實這一步解決了,系統強在我前面判斷的問題也解決了。
我程式中number 這個變數變10進製整數是通過 int(number,
base=16)這個語句完成的。我曾經想直接把這個語句為真變成if的條件。反之就說無效。但想法和現實很骨感。不論輸入0到10,和a到f.系統,系統竟然提示我invalid input。看來這個路不通。
2、 哪我直接將numberhex
>=15作為if條件呢?條件是成立了,但是還是g或者g的時候pycharm系統提示我「無效的int文字」。我將nubmerhex換成了number 。結果還是出錯,這次換成了typeerror: '<=' not supported between instances of 'str' and
'int'。換句話說numberhex這個條件還是對的。如果引入了number這個由使用者輸入的變數。那麼問題就不是無效的int了。而是變成了字元和整數沒法比較的問題了。
3、 方法還是不行。另外我發現。其實可以不用base.直接寫int(number, 16)也可以呀
第4天早上訓練,心情不那麼鬧心了。但是看這個題。我現在只能煎熬。自學路漫長。
我想轉型。我想提高直接的收入。我想改變自己的生活。沒別的繼續幹下去吧。
python語言自學 如何自學python語言
如何自學python程式設計?一堆的python教程卻感覺無從下手呢?我想這應該是很多python初學者正在糾結的問題。今天想要分享給大家的是如何自學python程式設計,學習這件事 還真不是人人都擅長的,有的人拿到一堆的python教程卻感覺無從下手,有的人卻靠這一堆python教程入門,這就是差...
杭州自學python爬蟲 自學PYTHON爬蟲
response urllib2.urlopen urlopen url,data,timeout 第乙個引數url即為url,第二個引數data是訪問url時要傳送的資料,第三個timeout是設定超時時間。第二三個引數是可以不傳送的,data預設為空none,timeout預設為 socket....
python自學手冊 Python 自學手冊
在我派的眾多文章中,程式設計和 一直是繞不開的內容。對於尚未接觸程式設計的新手而言,也許你的訴求並不是掌握 之後以此為職業,而只是想通過程式設計思維和 知識解決生活和工作中的實際問題。有沒有一套相對輕量 簡單,卻可以把如何程式設計這件事說明白的自學教程呢?有。這套 python 自學手冊 就是我們送...